2016-01-15 11 views
13

नीचे पासवर्ड के लिए मेरी नियम है:Regex मान्यता Laravel 5.2 में

return [ 
    'Password'     => 'required|min:8|max:100|regex:[a-z{1}[A-Z]{1}[0-9]{1}]', 
    'Password_confirmation'  => 'required|min:8|max:100|regex:[a-z{1}[A-Z]{1}[0-9]{1}]', 
]; 

मैं नियम जोड़ने के लिए यह होना आवश्यक है ऐसा है कि कोशिश कर रहा हूँ

  1. कम से कम एक छोटे से चार
  2. कम से कम एक बड़ा चार
  3. कम से कम एक नंबर
  4. कम से कम एक विशेष चार
  5. मिनट 8 वर्ण

मैं इस कोशिश की और यह required|confirmed|min:8|max:100|regex:/^[\w]{1,}[\W]{1,}$/ काम करता है, एक regex परीक्षक सॉफ्टवेयर पर। लेकिन यह सुनिश्चित नहीं है कि यह में काम क्यों नहीं करता है Laravel

क्या मुझे कुछ याद आ रही है?

उत्तर

22

उपयोग:

return [ 
    'password' => [ 
     'required', 
     'confirmed', 
     'min:8', 
     'max:50', 
     'regex:/^(?=.*[a-z|A-Z])(?=.*[A-Z])(?=.*\d)(?=.*(_|[^\w])).+$/', 
    ] 
]; 

सबसे पहले, आपको अलग से पुष्टि की जांच की जरूरत नहीं है। बस confirmed नियम का उपयोग करें।

आप जिस अभिव्यक्ति का उपयोग कर रहे थे वह अमान्य था, और जो भी आप चाहते थे उससे कोई लेना देना नहीं था। मेरा सुझाव है कि आप नियमित अभिव्यक्तियों पर some research करें।

इस तथ्य के कारण उपरोक्त अभिव्यक्ति पाइप का उपयोग करती है (|), आप सरणी का उपयोग कर नियम निर्दिष्ट कर सकते हैं।

संपादित करें: आप this expression का भी उपयोग कर सकते हैं, जो कि थोड़ा और अधिक परीक्षण किया गया प्रतीत होता है।

/^.*(?=.{3,})(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[\d\X])(?=.*[!$#%]).*$/ 
+3

उपयोगकर्ता द्वारा अपने पासवर्ड के लिए उपयोग किए जा सकने वाले वर्णों की संख्या पर कम सीमा निर्धारित करने से खराब उपयोगकर्ता अनुभव हो सकता है, खासकर जब उपयोगकर्ता पासवर्ड प्रबंधक का उपयोग कर रहा है जो 20 वर्णों से परे पासवर्ड उत्पन्न करता है या वे एक वाक्यांश का उपयोग करना चाहते हैं उनका पासवर्ड –

6

आप PasswordStrengthPackage देख सकते हैं। यह नए सत्यापन नियमों को पंजीकृत करता है जो आपको आवश्यकतानुसार करते हैं और नियमित अभिव्यक्ति से अधिक पढ़ने योग्य होते हैं। तो अपने मामले में आप इस हो सकता है:

return [ 
    'Password' => 'required|min:8|max:100|case_diff|numbers|letters|symbols|confirmed' 
]; 

Password_confirmation नियम के रूप में लंबे समय के रूप पुष्टि मूल्य मौजूद है की जरूरत नहीं है और आप Password क्षेत्र के लिए confirmed नियम जोड़ें।

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