初学js正则表达式之密码强度验证
[plain]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>passwordCheck</title>
<script type="text/javascript" src="Js/jquery1.6.1.js"></script>
<script type="text/javascript">
$(function() {
$('#pwd').keyup(function() {
var val = $(this).val();
isDigit(val);
});
function isDigit(s) {
var pattern_d = /^/d+$/; //全数字
var pattern_s = /^[A-Za-z]+$/ //全字符
var pattern_w = /^/w+$/; //数字或者字符
var pattern_W = /^/W+$/ //全非数字也非字符
var pattern_r = /^/w+/W+[/w/W]*/w+$/ //以字母或者数字开头结尾的字符串
var html = '';
var x = 0;
var y = 0;
$('#user').html(s);
if(pattern_W.exec(s)) {
html += '非数字也非字符<br />';
x = 0;
y = 0;
}
if(pattern_w.exec(s)) {
html += '数字或者字符<br />';
y = 1;
}
if(pattern_d.exec(s)) {
html += '全数字<br />';
x = 1;
y = 0;
}
if(pattern_s.exec(s)) {
html += '全字符<br />';
x = 2;
y = 0;
}
if(pattern_r.exec(s)) {
html += '以字母或者数字开头结尾的字符串<br />';
x = 3;
y = 2;
}
if( y === 0 && x === 0) {
html += '密码格式错误<br />';
}
if( x > 0 && y === 0) {
html += '安全级别《低》<br />';
}
if( x === 0 && y === 1) {
html += '安全级别《中》<br />';
}
if( y === 2) {
html += '安全级别《高》<br />';
}
html += x + '<br />' + y;
$('#password').html(html);
};
});
</script>
</head>
<body>
<form action="#" method="#">
用户名:<input type="text" name="" /><span id="user"></span><br />
密码:<input type="password" name="" id="pwd" /><span id="password"></span><br />
</form>
</body>
</html>
忘大家有好的思路,留言共享。
当密码为纯数字,或者纯字母的时候,安全等级为最低。
当密码为数字与字母组合,安全等级为中。
当密码中除数字和字母外,还有特殊符号,则安全等级为高。
其中,密码为特殊符号时,未对空格做排除。
当存在特殊符号时,特殊符号不可作为开头或者结尾。