JQuery - 确认密码包含非字母数字字符

时间:2017-02-16 12:06:31

标签: jquery alphanumeric

我想检查密码是否包含非字母数字字符(如!)。

是否有类似的解决方案,因为这是针对字母字符的: 如果密码包含非字母数字字符,我想要为true。

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

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

3 个答案:

答案 0 :(得分:0)

这是一种方法。 result变量如果只是字母数字则为true,如果包含非字母数字字符则为false

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

检查它是否包含至少1个数字,小写和大写字母:

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

将这些结合起来:

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

答案 1 :(得分:0)

这里有两件事是错的:

1)您的表达式检查字符串中的任何位置是否存在一个大写字符。我编辑的表达式^[A-Z]+$"翻译"到:

"从开头(+)到结束(^)的大写字母($ =至少一个或多个)的字符串。&# 34;

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" />
&#13;
&#13;
&#13;

答案 2 :(得分:0)

我使用了jquery.validate.js。 你不必混淆js检查输入是否有正确的字符,只需在html上标记它,它会为你完成剩下的工作。 E.g

<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/