2012-03-16 15 views
10

मान्य करना क्या एक बिक्री बल आईडी को सत्यापित करने का कोई तरीका है, शायद RegEx का उपयोग कर? वे आम तौर पर 15 वर्ण या 18 वर्ण होते हैं लेकिन क्या वे एक पैटर्न का पालन करते हैं जिसका उपयोग हम यह जांचने के लिए कर सकते हैं कि यह वैध आईडी है।एक बिक्री बल आईडी

अग्रिम धन्यवाद!

+0

क्या आप जानते हैं कि कम से कम कौन से पात्र वैध मानते हैं>? –

+0

@BogdanEmilMariesan मैं आपके प्रश्न को समझ नहीं पा रहा हूं। वर्ण विभिन्न ऑब्जेक्ट रिकॉर्ड के लिए अलग हैं, यही कारण है कि यह एक सीधा रेगेक्स नहीं है जो मुझे लगता है। – Anup

उत्तर

16

इस तरह काम करना चाहिए:

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

यह सुझाव दिया गया है कि इस अधिक सही है क्योंकि यह 16 वर्ष की लंबाई और 17 पात्रों के साथ आईडी से बचाता है खारिज कर दिया हो सकता है, हम भी 18 चार लंबाई के खिलाफ मैच के लिए कोशिश पहले एक वापस आने के रूप में 15 लंबाई के साथ:

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

यह बदनामी है, लेकिन मुझे यह पसंद है। :) धन्यवाद! मैंने आपका जवाब +1 कर दिया है। – Anup

+2

यह वाक्यांश के लिए एक अधिक कॉम्पैक्ट तरीका होगा \ w {15,18} ' – Technetium

+0

अधिकांश रेगेक्स कार्यान्वयन में, \ w' में' _' शामिल होगा, इसलिए उपर्युक्त सही नहीं है। – haridsv

9

सबसे आसान तरीका मैं का सामना करना पड़ा, एक नया आईडी चर बना सकते हैं और इसे करने के लिए एक स्ट्रिंग आवंटित करने के लिए है।

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

यदि MyTestID इसे असाइन करने का प्रयास करने के बाद शून्य है, तो आईडी अमान्य थी।

+0

हाँ, मैंने बिक्री समाधान डेवलपर मंचों में यह समाधान देखा है, लेकिन यह सोच रहा था कि क्या बिक्री बल आईडी को सत्यापित करने का एक बेहतर तरीका है। हालांकि धन्यवाद! – Anup

+0

आपका स्वागत है; यदि आप नियमित अभिव्यक्ति के साथ इसे सत्यापित करने का प्रयास करना चाहते हैं तो जेरेमी रॉस का समाधान अच्छी तरह से काम करना चाहिए। –

+0

यह बहुत चालाक है! सरल, फिर भी यह बहुत अच्छी तरह से काम करता है। – VictorKilo

16

मान्य Salesforce आईडी के दो स्तर हैं: 18-characted आईडी के लिए

  1. जांच प्रारूप नियमित अभिव्यक्ति [a-zA-Z0-9]{15}|[a-zA-Z0-9]{18}
  2. का उपयोग कर आप जाँच कर सकते हैं 3-character checksum: enter image description here
+1

यह सबसे सटीक और सहायता उत्तर है। धन्यवाद। – aaronbauman

+1

मैंने ऊपर दी गई जानकारी के आधार पर एक गिस्ट बनाया और यह चेक (रकम) की जांच करें। मैं खुद को देख लूंगा। https://gist.github.com/jeriley/36b29f7c46527af4532aaf092c90dd56 – jeriley

1

बस का उपयोग उदाहरण यह जांचने के लिए कि स्ट्रिंग आईडी का उदाहरण है या नहीं।

String s = '1234'; 
if (s instanceOf Id) System.debug('valid id'); 
else System.debug('invalid id'); 
संबंधित मुद्दे