2010-02-02 10 views
7

पर 1-8 कुंजी से ऊपर के प्रतीकों का मिलान करने के लिए मैं नियमित अभिव्यक्ति प्राप्त करने की कोशिश कर रहा हूं जो 6 से 15 अक्षरों के बीच की अनुमति देता है और एक-जेए-जेड 0 9 और प्रतीक हो सकता है संख्या - कीबोर्ड पर।नियमित अभिव्यक्ति 6-15 अल्फान्यूमेरिक वर्णों के साथ मिलान करने के लिए कुंजीपटल

यहां मेरे पास है लेकिन यह काम नहीं करता है।

'/^[a-zA-Z0-9-_][\!\@\#\$\%\^&\*]{5,16}+$/' 
+1

6-16 वर्ण {6,16} होंगे, न कि {5,16}। शायद '+' नहीं चाहते हैं ... – macabail

उत्तर

15

आपके पास ब्रैकेट के भीतर दो अलग-अलग सेट हैं। मूल रूप से अभिव्यक्ति "ए-जेए-जेड -9-_ में से 1" के बाद विशेष पात्रों के 5-16 के बाद होती है। उन्हें ब्रैकेट के उसी सेट में मिलाएं और आप सभी अच्छे हैं।

कुछ निम्नलिखित की तरह:

'/^[a-zA-Z0-9-_\!\@\#\$\%\^&\*]{5,16}+$/' 
+0

महान काम करता है। न केवल सही उत्तर समझाए जाने के लिए धन्यवाद लेकिन मेरे उत्तर में क्या गलत था। – Catfish

+0

कोई जांच नहीं। नियमित अभिव्यक्ति हाथ से बाहर हो सकती हैं, इसलिए मैं हमेशा उन्हें पढ़ने और अपने काम की जांच के लिए सादे भाषा में अनुवाद करने की कोशिश करता हूं। – Rich

0

इस प्रयास करें:

^[\[email protected]#$%^&*]{6,15}$ 

\w के रूप में इसका मतलब है [a-zA-Z_0-9]

+0

आपको अधिकांश विशेष पात्रों से बचने की जरूरत है। – macabail

+0

सही ढंग से मेल खाता है '! @ # $%^और * 0az-9_' –

0
/^[\w\!\@\#\$\%\^&\]{6,15}*$/ 

यही कारण है कि यह पर्ल में होगा।

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