2016-10-18 8 views
7

मैं कैसे एक regex कि लागू करता है कर सकता हूँ:Regex पत्र और सीमित लंबाई के साथ संख्या

  • अक्षर और संख्या (कम से कम प्रत्येक की 1)
  • न्यूनतम और अधिकतम लंबाई (10 से 50)
  • अक्षरों या संख्याओं

जब एक php preg_match का उपयोग कर के अलावा अन्य कुछ भी नहीं है?


यहाँ मैं क्या मिला है:

^[A-Za-z0-9]{10,50}$ 

यह अक्षरों और संख्याओं को लागू के अलावा सब कुछ करने के लिए लगता है।

उत्तर

5

है:

^(?=.*(?:[A-Za-z].*\d|\d.*[A-Za-z]))[A-Za-z0-9]{10,50}$ 
  • (?=.*(?:[A-Za-z].*\d|\d.*[A-Za-z])) शून्य चौड़ाई सकारात्मक अग्रदर्शी है, यह यकीन है कि वहाँ कम से कम एक पत्र, और एक अंक वर्तमान

  • [A-Za-z0-9]{10,50} कि मेल केवल अक्षर शामिल हैं बनाता है बनाता है और अंक

Demo


या यहां तक ​​कि क्लीनर, के बजाय दो lookaheads का उपयोग करें या-इंग (chris85 करने के लिए धन्यवाद):

^(?=.*[A-Za-z])(?=.*\d)[A-Za-z0-9]{10,50}$ 
+0

धन्यवाद यह भाई काम करता है, मैं तो बस एक ही साइट पर इस जाँच की – Ibrahim

+2

मैं जोड़ देंगे यह यहां, https://regex101.com/r/TTeWKd/1, 2 या आगे की आवश्यकता का उपयोग कर सकते हैं जिन्हें 'या' और डुप्लिकेट वर्ण चेक की आवश्यकता नहीं है। – chris85

+0

@ chris85 थैट क्लीनर, जोड़ा गया। धन्यवाद। – heemayl

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