2017-02-16 57 views
0

我想檢查密碼是否包含非字母數字字符(如!)。JQuery - 確認密碼包含非字母數字字符

是否有任何類似的解決方案,因爲這是爲字母字符: 我想如果密碼包含一個非字母數字字符爲true。

var upperCase= new RegExp('[A-Z]'); 

if($("#input-set-password").val().match(upperCase)) 
{ 
} 
+1

強制XKCD:[密碼強度(https://xkcd.com/936/) – Andreas

+0

所以,你要強迫你的用戶創建他們可能不記得密碼,從而寫在便條紙上,保存在電子郵件或類似的? 鼓勵使用非字母數字字符是一種好方法。我認爲執行它並不聰明。 – qualbeen

+0

xkcd:密碼強度 ,並認爲answear有100%的意義,我會重新考慮。 TY。 – Gnorg

回答

0

這是一種方法。

if(/\d/.test(reg_password1) && /[a-z]/.test(reg_password1) && /[A-Z]/.test(reg_password1)) 

要:如果它,如果它包含非字母數字字符

var reg_password1 = 'test123'; 
var letters = /^[a-zA-Z0-9]+$/; 
var result = letters.test(reg_password1); 

要檢查它是否包含至少1號和小寫和大寫字母只有字母,數字和假result變量將是真實的結合這些:

var reg_password1 = 'test123'; 
if(/^[a-zA-Z0-9]+$/.test(reg_password1) && /\d/.test(reg_password1) && /[a-z]/.test(reg_password1) && /[A-Z]/.test(reg_password1)) 
{ 
    //Has at least 1 uppercase 1 lowercase 1 number and is only alphanumeric 
} 

這裏是一個JSFiddle

+0

我明白了。嗯,但我想檢查,以便密碼至少包含一個uppcase字符,一個數字和一個非字母數字(!)。 – Gnorg

+0

現在應該工作 – 131

+0

我正在尋找適用於!¤%等的東西,因此非字母數字。 我想要一個像「Asd1!」的字符串返回true。 – Gnorg

0

這裏有兩個錯誤:

1)您的表達式檢查一個字符串中是否存在一個大寫字符。 Wheras我的編輯表達^[A-Z]+$「翻譯」到:

「其具有從它的開始(^)直到它的端部($)大寫字母(+ =至少一個,或更多個)的字符串。」

2)match()將 - 顧名思義 - 查找並返回所有匹配項。你會想在正則表達式使用test()這裏代替,這將返回true或false,你可以看到:

var upperCase= new RegExp('^[A-Z]+$'); 
 
console.log(upperCase.test($("#input-set-password").val())); 
 
console.log(upperCase.test($("#input-set-password2").val())); 
 
console.log(upperCase.test($("#input-set-password3").val()));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" id="input-set-password" value="ANBASFJH" /> 
 
<input type="text" id="input-set-password2" value="ANBASFJHasg" /> 
 
<input type="text" id="input-set-password3" value="ANBASF123" />

0

我用jquery.validate.js。 你不必與js混淆,檢查輸入是否有正確的字符,只需將它標記在html上,剩下的就爲你做。例如

<input data-val="true" <!-- Tell validate to check this input --> data-val-length="The Password must be at least 6 characters long." <!-- Message shown when length isn't meet --> data-val-length-max="100" <!-- Max length for 'this' input --> data-val-length-min="6" <!-- Minimum length for 'this' input--> data-val-required="The Password field is required." <!-- Error message shown if input is empty---> id="Password" name="Password" type="text" value=""> 

更多關於https://jqueryvalidation.org/

相關問題