2017-06-01 20 views
1

我想通過最小範圍的密碼不應少於3個字母,但每次我的文本/密碼得到執行。Jquery的正則表達式範圍不工作的密碼

下面是我的代碼:

$.formUtils.addValidator({ 
     name: "userpassword", 
     validatorFunction: function(a) { 
     return !!a.match((/^\s*[[email protected]_\./\-]{5,}+\s*$/)) 
     }, 
     errorMessage: "Please enter a valid Password for user (Special characters are not allowed apart from At sign (@),Underscore(_), Hyphen(-) and Period(.)) <br> Minimum length for password is 5", 
     errorMessageKey: "badname" 
    }) 
+0

你怎麼叫它:

此外,您可以用\w更換A-Za-z0-9_縮短正則表達式?意思是,你如何傳遞字符串?從文本框中輸入 –

+0

+0

正則表達式中存在錯誤。使用'return/^ [\ w @ .-] {3,} $ /。test(a);' – Tushar

回答

1

JS正則表達式不支持佔有慾量詞。

您可以通過限制量詞之後去除+固定模式:

a.match((/^\s*[[email protected]_.\/-]{5,}\s*$/) 

注意,一個/更好轉義(儘管大多數的瀏覽器,如果你把它很好地工作它轉義字符內類),.不必在字符類內部轉義,並且字符類末尾的-不必轉義。

a.match((/^\s*[\[email protected]\/-]{5,}\s*$/) 
0

解決方案:

$.formUtils.addValidator({ 
     name: "userpassword", 
     validatorFunction: function(a) { 
     return !!a.match((/^\s*[[email protected]_\./\-]{5,}\s*$/)) 
     }, 
     errorMessage: "Please enter a valid Password for user (Special characters are not allowed apart from At sign (@),Underscore(_), Hyphen(-) and Period(.)) <br> Minimum length for password is 5", 
     errorMessageKey: "badname" 
    }) 

需要+後刪除}

+0

我發佈了我的答案,請考慮upvoting /接受,因爲我的解決方案工作,我希望我的回答會變成有用的。 –