有没有办法验证Salesforce ID,也许使用RegEx?他们通常是15个字符或18个字符,但他们是否遵循一种模式,我们可以使用它来检查它是一个有效的ID。验证Salesforce ID
在此先感谢!
有没有办法验证Salesforce ID,也许使用RegEx?他们通常是15个字符或18个字符,但他们是否遵循一种模式,我们可以使用它来检查它是一个有效的ID。验证Salesforce ID
在此先感谢!
像这样的东西应该工作:
[a-zA-Z0-9]{15,18}
有人提出,这可能是比较正确的,因为它可以防止IDS与16的长度和17个字符被拒绝,我们也试图匹配18字符长度先用15长度作为后备:
[a-zA-Z0-9]{18}|[a-zA-Z0-9]{15}
这很粗糙,但我喜欢。 :) 谢谢!我已经+1了你的答案。 – Anup 2012-03-16 20:16:24
更紧凑的方式来说这将是'\ w {15,18}' – Technetium 2012-03-21 22:43:19
在大多数正则表达式实现中,'\ w'将包含'_',所以上述不正确。 – haridsv 2014-01-30 05:35:33
我碰到过的最简单的方法,是创建一个新的ID变量和一个字符串分配给它。
ID MyTestID = null;
try {
MyTestID = MyTestString; }
catch(Exception ex) { }
如果MyTestID在尝试分配后为空,则ID无效。
是的,我在salesforce开发者论坛上看到过这个解决方案,但是想知道是否有更好的方法来验证salesforce id。虽然谢谢! – Anup 2012-03-16 19:23:05
不客气,如果你想用正则表达式来验证它,Jeremy Ross的解决方案应该很好。 – 2012-03-16 19:52:26
这很漂亮!简单,但它工作得非常好。 – VictorKilo 2012-03-18 09:55:22
有确认销售人员的ID两个层次:
[a-zA-Z0-9]{15}|[a-zA-Z0-9]{18}
这是最准确和最有帮助的答案。谢谢。 – aaronbauman 2015-11-24 14:58:16
我根据上面的信息创建了一个要点,它检查(总结)。我会看到自己。 https://gist.github.com/jeriley/36b29f7c46527af4532aaf092c90dd56 – jeriley 2017-02-28 16:58:27
只需使用instanceOf来检查字符串是否是Id的一个实例。
String s = '1234';
if (s instanceOf Id) System.debug('valid id');
else System.debug('invalid id');
你知道至少要认为哪些字符有效吗? – 2012-03-16 18:56:03
@BogdanEmilMariesan我不明白你的问题。字符对于不同的对象记录是不同的,这就是为什么它不是我认为的直接正则表达式。 – Anup 2012-03-16 19:24:12