2013-12-11 151 views
0

我必須對密碼進行驗證。密碼必須爲8個字符(最小= 8個字符,最大= 10個字符)。並應至少包含1個大寫字符,1個小寫字符,1個特殊字符和1個數字。直到現在我所做的是以下...在javascript中驗證密碼

['validate-password', 'Password must contain at least 1 uppercase character, 1 lowercase character, 1 special character and 1 number (Min. length = 8 & Max. length = 10)', function(v) { 
       var pass=v.strip(); 
       if(pass.length <11 && pass.length>7) 
        return Validation.get('IsEmpty').test(v) || /(?=.*\d)(?=.*[a-z])(?=.*[A-Z])/.test(v) || /^\s|\s$/.test(pass) 

      }], 

此代碼工作正常,但是當我在密碼開始時添加空格,例如password = 2 whitespaces + Aaaa#7然後它顯示警告消息,但是當我在末尾添加2個字符時,如password = 2 whitespaces + Aaaa#7 + 12,則表明它正在接受。我想要的是在字符串的開始和結尾刪除空格......我該怎麼做?

+3

在驗證密碼之前使用'trim'功能。請參閱http://stackoverflow.com/questions/498970/how-do-i-trim-a-string-in-javascript – Floris

+1

重複的[如何修剪JavaScript中的字符串?](http://stackoverflow.com/questions/498970/javascript-how-do-i-trim -a-string-in-javascript) –

回答

1

如果你使用jQuery,您可以使用

$.trim(str) 

修剪兩側的空白,否則,你可以使用:

str.replace(/^\s+|\s+$/g, ''); 

到兩側刪除空格。

+0

感謝哥們......我用不同的邏輯解決了它 –

0

空白可能容器\ t,\ r,\ s.Here是在jQuery中修剪空白的代碼,它在任何情況下都能正常工作。

whitespace = "[\\x20\\t\\r\\n\\f]"; 
rtrim = new RegExp("^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g") 

str.replace(rtrim , ''); 
1

使用$.trim(str)在開始和字符串的結尾或 yourString.replace(/\s/g,'');刪除空格刪除所有空格在您的字符串。

+0

感謝哥們......我用不同的邏輯解決了它...... –

+0

總是歡迎! – HICURIN