SO好友,問候。我有一些我需要實現的密碼要求,其中一個要求是字符串不能以特殊字符開頭或結尾。我確實花了一些時間搜索,但我的RegEx功夫是kimosabe水平。正則表達式字符串不會以特殊字符開始或結束
萬一你感興趣的一些代碼,這裏的的JavaScript:
注:是的,密碼也驗證了服務器以及上:)下面的代碼片段運行正則表達式測試和簡單地檢查或x是與密碼規則關聯的行項目。
var validate = function(password){
valid = true;
var validation = [
RegExp(/[a-z]/).test(password), RegExp(/[A-Z]/).test(password), RegExp(/\d/).test(password),
RegExp(/[-!#$%^&*()_+|~=`{}\[\]:";'<>?,./]/).test(password), !RegExp(/\s/).test(password), !RegExp("12345678").test(password),
!RegExp($('#txtUsername').val()).test(password), !RegExp("cisco").test(password),
!RegExp(/([a-z]|[0-9])\1\1\1/).test(password), (password.length > 7)
]
$.each(validation, function(i){
if(this == true)
$('.form table tr').eq(i+1).attr('class', 'check');
else{
$('.form table tr').eq(i+1).attr('class', '');
valid = false
}
});
return(valid);
}
我不知道這是否是錯誤,但我看到,正則表達式正則表達式(「12345678」)沒有任何分隔符,會是它? – rednaw 2012-04-05 15:10:15
'/^[\ d \ w] + $/i'有什麼問題? – Alexander 2012-04-05 15:11:41
@rednaw現在的代碼沒有任何錯誤,需要實施一個新的要求。基於下面的答案,它看起來像我需要'/^[^ a-z]。* /'的東西,但我還需要包含數字。換句話說,我確保密碼都以字母或數字開頭和結尾。 – pixelbobby 2012-04-05 15:19:57