Có cách nào để xác thực id Salesforce, có thể sử dụng RegEx không? Chúng thường là 15 ký tự hoặc 18 ký tự nhưng chúng theo một mẫu mà chúng ta có thể sử dụng để kiểm tra xem đó là một id hợp lệ.Xác thực Id Salesforce
Cảm ơn trước!
Có cách nào để xác thực id Salesforce, có thể sử dụng RegEx không? Chúng thường là 15 ký tự hoặc 18 ký tự nhưng chúng theo một mẫu mà chúng ta có thể sử dụng để kiểm tra xem đó là một id hợp lệ.Xác thực Id Salesforce
Cảm ơn trước!
Something như thế này nên làm việc:
[a-zA-Z0-9]{15,18}
Có ý kiến cho rằng đây có thể chính xác hơn vì nó ngăn chặn Id với độ dài từ 16 đến 17 ký tự bị từ chối, chúng tôi cũng cố gắng để phù hợp với 18 chiều dài char đầu tiên với 15 độ dài dưới dạng dự phòng:
[a-zA-Z0-9]{18}|[a-zA-Z0-9]{15}
Nó khá thô, nhưng tôi thích nó. :) Cảm ơn! Tôi đã +1 câu trả lời của bạn. – Anup
Một cách nhỏ gọn hơn để cụm từ này sẽ là '\ w {15,18}' – Technetium
Trong hầu hết các triển khai regex, '\ w' sẽ bao gồm' _', vì vậy ở trên không chính xác. – haridsv
Cách dễ nhất tôi gặp là tạo một biến ID mới và gán một chuỗi cho biến đó.
ID MyTestID = null;
try {
MyTestID = MyTestString; }
catch(Exception ex) { }
Nếu MyTestID là null sau khi cố gắng gán, ID không hợp lệ.
Vâng, tôi đã nhìn thấy giải pháp này trong các diễn đàn nhà phát triển Salesforce, nhưng đã tự hỏi liệu có cách nào tốt hơn để xác thực id salesforce hay không. Cảm ơn mặc dù! – Anup
Bạn được chào đón; Giải pháp của Jeremy Ross sẽ hoạt động tốt nếu bạn cố gắng xác thực nó bằng Biểu thức chính quy. –
Điều này là khá trơn! Đơn giản, nhưng nó hoạt động rất tốt. – VictorKilo
Có hai cấp độ chứng thực Salesforce id:
[a-zA-Z0-9]{15}|[a-zA-Z0-9]{18}
Đây là câu trả lời chính xác và hữu ích nhất. cảm ơn bạn. – aaronbauman
Tôi đã tạo một gist dựa trên thông tin ở trên và nó kiểm tra (số tiền). Tôi sẽ thấy mình ra ngoài. https://gist.github.com/jeriley/36b29f7c46527af4532aaf092c90dd56 – jeriley
Chỉ cần sử dụng instanceOf để kiểm tra xem chuỗi có phải là một cá thể của Id hay không.
String s = '1234';
if (s instanceOf Id) System.debug('valid id');
else System.debug('invalid id');
bạn có biết ít nhất những ký tự nào được coi là hợp lệ không? –
@BogdanEmilMariesan Tôi không hiểu câu hỏi của bạn. Các ký tự khác nhau đối với các bản ghi đối tượng khác nhau, đó là lý do tại sao nó không phải là một regex đơn giản mà tôi nghĩ. – Anup