有沒有辦法驗證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