2010-06-12 14 views
5

मैं करने के लिए उपयोगकर्ता इनपुट फिल्टर करने के लिए अपने वेब ASP.NET पेज पर है:स्विफ्ट कोड के लिए उचित RegEx अभिव्यक्ति क्या है?

<asp:TextBox runat="server" ID="recipientBankIDTextBox" MaxLength="11" /> 
<asp:RegularExpressionValidator runat="server" ValidationExpression="?" ControlToValidate="recipientBankIDTextBox" ErrorMessage="*" /> 

जहाँ तक मैं जानता हूँ कि यह है स्विफ्ट कोड 5 या 6 पत्र और अन्य प्रतीक होने चाहिए कुल लंबाई 11 अप करने के लिए अल्फान्यूमेरिक हैं।

इस तरह के नियम को सही तरीके से कैसे कार्यान्वित करें?

उत्तर

18

एक तेज कोड 8 या 11 अक्षर या अंक जहां पहले छह पत्र होना चाहिए होना चाहिए। लेकिन वैसे भी इससे कोई फर्क नहीं पड़ता कि यह क्या है, क्या मायने रखता है कि आप समझते हैं कि इस तरह की अभिव्यक्ति कैसे बनाएं। एनोटेशन के साथ एक नियमित अभिव्यक्ति यहां आपको दिखाने के लिए है कि भागों का क्या अर्थ है।

 
^[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?$ 
    ^  ^  ^^ 
     |   |   | | 
     6 letters 2 letters 3 letters or digits 
        or digits  | 
           last three are optional 

विकिपीडिया पर सभी उदाहरण केवल ऊपरी केस अक्षरों को दिखाते हैं ए-जेड। यदि आप लोअरकेस अक्षरों को भी अनुमति देना चाहते हैं तो A-Z से A-Za-z बदलें। मैं क्या कहता हूं यह देखने के लिए the ISO standard जांचूंगा, लेकिन दुर्भाग्य से यह एक प्रति प्राप्त करने के लिए स्वतंत्र नहीं है। पहले और दूसरे - -

2

यह दो अलग अलग समूह देखते हैं क्या के लिए चाल

^([a-zA-Z]){4}([a-zA-Z]){2}([0-9a-zA-Z]){2}([0-9a-zA-Z]{3})?$ 
+0

करना चाहिए बराबर अभिव्यक्ति के साथ? क्यों न सिर्फ '([ए-जेए-जेड]) {6}'? – abatishchev

+1

हां आप सही हैं आप ऐसा कर सकते हैं - मैंने इसे दो समूहों में विभाजित कर दिया है कि पहले समूह बैंक से संबंधित है और दूसरा समूह देश कोड है। उदाहरण के लिए नेटवेस्ट बैंक, यूके के लिए। 'एनडब्ल्यूबीके 'प्लस' जीबी'। – codingbadger

संबंधित मुद्दे