您的位置:首页 > 其它

[转载]使用正则表达式验证一个字符串同时包含字母和数字

2018-01-22 09:42 1176 查看
正则表达式如下:

var myreg = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z_]{6,18}$/;

详细解析如下:

(?=pattern)

执行正向预测先行搜索的子表达式,该表达式匹配处于匹配 pattern 的字符串的起始点的字符串。它是一个非捕获匹配,即不能捕获供以后使用的匹配。例如,'Windows (?=95|98|NT|2000)' 匹配“Windows 2000”中的“Windows”,但不匹配“Windows 3.1”中的“Windows”。预测先行不占用字符,即发生匹配后,下一匹配的搜索紧随上一匹配之后,而不是在组成预测先行的字符后。

.

匹配除“\n”之外的任何单个字符。若要匹配包括“\n”在内的任意字符,请使用诸如“[\s\S]”之类的模式。

*

零次或多次匹配前面的字符或子表达式。例如,zo* 匹配“z”和“zoo”。* 等效于 {0,}。

[a-z]

字符范围。匹配指定范围内的任何字符。例如,“[a-z]”匹配“a”到“z”范围内的任何小写字母。

()是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串。

/*检查密码长度且必须包含数字和字母可带下划线*/
function fnCheckPassword(){
var password = document.getElementById('password').value;
var myreg = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z_]{6,18}$/;
if(!myreg.test(password)){
alert("密码必须包含数字字母,可带下划线,长度为6-18位");
return false;
}else{
return true;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐