Проверка идентификатора Salesforce

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

Спасибо заранее!

Ответ 1

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

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

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

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

Ответ 3

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

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

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

Ответ 4

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

String s = '1234';
if (s instanceOf Id) System.debug('valid id');
else System.debug('invalid id');

Ответ 5

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

  • 001600000.....
  • 001000000.....
  • 001f20000.....