Проверка идентификатора Salesforce - PullRequest
17 голосов
/ 16 марта 2012

Есть ли способ проверить идентификатор Salesforce, возможно, используя RegEx?Обычно это 15 или 18 символов, но они следуют шаблону, который мы можем использовать, чтобы проверить, что это действительный идентификатор.

Заранее спасибо!

Ответы [ 5 ]

23 голосов
/ 27 марта 2015

Существует два уровня проверки идентификатора Salesforce:

  1. формат проверки с использованием регулярного выражения [a-zA-Z0-9]{15}|[a-zA-Z0-9]{18}
  2. для идентификаторов с 18-ю символами вы можете проверить 3-контрольная сумма символа : enter image description here
22 голосов
/ 16 марта 2012

Что-то вроде этого должно работать:

[a-zA-Z0-9]{15,18}

Было высказано предположение, что это может быть более правильным, поскольку оно предотвращает отклонение идентификаторов длиной 16 и 17 символов, также мы пытаемся сопоставить 18 символовдлина первая с длиной 15 в качестве запасного варианта:

[a-zA-Z0-9]{18}|[a-zA-Z0-9]{15}
9 голосов
/ 16 марта 2012

Самый простой способ, с которым я столкнулся, - это создать новую переменную ID и присвоить ей строку.

ID MyTestID = null;
try {
    MyTestID = MyTestString; }
catch(Exception ex) { }

Если MyTestID равен нулю после попытки назначить его, идентификатор был недействительным.

6 голосов
/ 08 декабря 2016

Просто используйте instanceOf, чтобы проверить, является ли строка экземпляром Id.

String s = '1234';
if (s instanceOf Id) System.debug('valid id');
else System.debug('invalid id');
0 голосов
/ 24 мая 2019

По моему опыту, 15-символьные идентификаторы бывают нескольких типов:

  • 001600000 .....
  • 001000000 .....
  • 001f20000 .....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...