s正则表达式用法实例:验证邮箱格式、密码复杂度、手机号码、QQ号码
没啥要描述的,直接上代码吧。其中引用了jquery~ 希望大家自行引用。
只贴出验证部分代码,其余代码自行添加。如果属于初学者,请寻找有经验者指点。
001
<script type="text/javascript">
002
$(function () {
003
$("input[name='sub']").on("click", function () {
004
if (!isEmail($("input[name='email']").val())) {
005
$("span[name='email']").html("邮箱格式错误");
006
return false;
007
}
008
else {
009
$("span[name='email']").html("");
010
}
011
if (checkStrong($("input[name='password']").val()) < 3) {
012
$("span[name='password']").html("密码太过简单");
013
return false;
014
}
015
else {
016
$("span[name='password']").html("");
017
}
018
if (!isQQ($.trim($("input[name='qq']").val()))) {
019
$("span[name='qq']").html("请输入正确的QQ号码");
020
return false;
021
}
022
else {
023
$("span[name='qq']").html("");
024
}
025
if (!isPhone($.trim($("input[name='mnumber']").val()))) {
026
$("span[name='mnumber']").html("请输入正确的手机号码");
027
return false;
028
}
029
else {
030
$("span[name='mnumber']").html("");
031
}
032
return true;
033
});
034
});
035
/**
036
* 检查字符串是否为合法QQ号码
037
* @param {String} 字符串
038
* @return {bool} 是否为合法QQ号码
039
*/
040
function isQQ(aQQ) {
041
var bValidate = RegExp(/^[1-9][0-9]{4,9}$/).test(aQQ);
042
if (bValidate) {
043
return true;
044
}
045
else
046
return false;
047
}
048
/**
049
* 检查字符串是否为合法手机号码
050
* @param {String} 字符串
051
* @return {bool} 是否为合法手机号码
052
*/
053
function isPhone(aPhone) {
054
var bValidate = RegExp(/^(0|86|17951)?(13[0-9]|15[012356789]|18[0-9]|14[57])[0-9]{8}$/).test(aPhone);
055
if (bValidate) {
056
return true;
057
}
058
else
059
return false;
060
}
061
/**
062
* 检查字符串是否为合法email地址
063
* @param {String} 字符串
064
* @return {bool} 是否为合法email地址
065
*/
066
function isEmail(aEmail) {
067
var bValidate = RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(aEmail);
068
if (bValidate) {
069
return true;
070
}
071
else
072
return false;
073
}
074
/**
075
* 检查字符串是否是整数
076
* @param {String} 字符串
077
* @return {bool} 是否是整数
078
*/
079
function isInteger(s) {
080
var isInteger = RegExp(/^[0-9]+$/);
081
return (isInteger.test(s));
082
}
083
/*
084
判断字符类型
085
*/
086
function CharMode(iN) {
087
if (iN >= 48 && iN <= 57) //数字
088
return 1;
089
if (iN >= 65 && iN <= 90) //大写字母
090
return 2;
091
if (iN >= 97 && iN <= 122) //小写
092
return 4;
093
else
094
return 8; //特殊字符
095
}
096
/*
097
统计字符类型
098
*/
099
function bitTotal(num) {
100
modes = 0;
101
for (i = 0; i < 4; i++) {
102
if (num & 1) modes++;
103
num >>>= 1;
104
}
105
return modes;
106
}
107
/*
108
返回密码的强度级别
109
*/
110
function checkStrong(sPW) {
111
if (sPW.length <= 4)
112
return 0; //密码太短
113
Modes = 0;
114
for (i = 0; i < sPW.length; i++) {
115
//测试每一个字符的类别并统计一共有多少种模式.
116
Modes |= CharMode(sPW.charCodeAt(i));
117
}
118
return bitTotal(Modes);
119
}
120
121
</script>
js正则表达式用法实例:验证邮箱格式、密码复杂度、手机号码、QQ号码
最新推荐文章于 2023-10-11 09:14:59 发布