详解表单验证正则表达式实例(推荐)

时间:2022-09-24 17:04:57

验证:!reg.test(value)

邮箱:

 

复制代码 代码如下:

reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/i;

 

不包含中文:

 

复制代码 代码如下:

reg = /.*[\u4e00-\u9fa5]+.*$/i;

 

身份证号:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// 验证身份证号码
var city = {11:'北京',12:'天津',13:'河北',14:'山西',15:'内蒙古',21:'辽宁',22:'吉林',23:'黑龙江 ',31:'上海',32:'江苏',33:'浙江',34:'安徽',35:'福建',36:'江西',37:'山东',41:'河南',42:'湖北 ',43:'湖南',44:'广东',45:'广西',46:'海南',50:'重庆',51:'四川',52:'贵州',53:'云南',54:'* ',61:'陕西',62:'甘肃',63:'青海',64:'宁夏',65:'*',71:'*',81:'香港',82:'澳门',91:'国外 '};
function check_idcard(n)
{
var im = 0;
var info, i, bd;
if(n.length != 18)
{
return false;
}
n = n.replace(/x$/i,"a");
if(city[parseInt(n.substr(0,2))] == null)
{
return false;
}
bd = n.substr(6,4)+"-"+Number(n.substr(10,2))+"-"+Number(n.substr(12,2));
var d = new Date(bd.replace(/-/g,"/"))
if(bd != (d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))
{
return false;
}
for(i = 17; i >= 0; i--)
{
im += (Math.pow(2,i) % 11) * parseInt(n.charAt(17 - i),11)
}
if(im % 11 != 1)
{
return false;
}
return true;
}

密码强度检测:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
function ops_pwd_set(obj)
{
var pwd = obj;
if(typeof obj.value != 'undefined')
pwd = obj.value;
if(pwd == '')
return false;
var len = pwd.length;
if(pwd == '')
{
ops_show("密码不能为空",true);
return false;
}
//中文
if(/[\u4e00-\u9fa5]+/.test(pwd)){
ops_show("密码不能含有中文",true);
return false;
}
//空白
var tmppwd = pwd.replace(/\s+/g,"");
if(tmppwd != pwd){
ops_show("密码不能含有空白字符",true);
return false;
}
//长度
if( len < 6 || len > 20){
ops_show("密码长度需在6-20位之间",true);
return false;
}
//正则表达式
var is_all_num = /^\d+$/.test(pwd) ;
var have_num = /\d/.test(pwd) ;
var is_all_abc = /^[a-zA-Z]+$/.test(pwd) ;
var have_abc = /[a-zA-Z]/.test(pwd) ;
var have_strong = /[^a-zA-Z0-9]/.test(pwd) ;
var is_very_strong = pwd.split(/[^a-zA-Z_0-9]/).length > 2 ;
/**
* 禁用:
* 1)全为数字且少于8位
* 2)密码字符全部相同
*/
var disable_msg = "此密码安全性太弱,不可用" ;
if(is_all_num && len < 8){
ops_show(disable_msg,true);
return false;
}
var i=0;
var apwd = pwd.split('');
for(i=1; i < len ; i ++)
if(apwd[i] != apwd[0])
break;
if(i >= len){
ops_show(disable_msg,true);
return false;
}
/**
* 极强:
* 1)数字与字母与其它可打印字符(大于2位)且大于等于8位
*/
if( (have_num && have_abc && is_very_strong && len >= 8) ){
ops_show('<font color="#00cc00">极强</font>');
return true;
}
/**
* 强:
* 1)数字与字母与其它可打印字符且大于等于8位
* 2)数字与字母与其它可打印字符(大于2位)且小于8位
* 3)两两组合大于等于8位
*/
if( (have_num && have_abc && have_strong && len >= 8)
|| (have_num && have_abc && is_very_strong && len < 8)
|| ( ( (have_num && have_strong) || (have_abc && have_strong) ) && len >= 8 ) ){
ops_show('<font color="#00cc00">强</font>');
return true;
}
/**
* 中:
* 1)数字与字母混合且大于等于8位
* 2)数字与字母与其它可打印字符且小于8位
* 3)两两组合
*/
if( (have_num && have_abc && len >= 8) || (have_num && have_abc && have_strong && len < 8)
|| ( (have_num && have_strong) || (have_abc && have_strong) ) ){
ops_show('<font color="#ff9900">密码强度中</font>');
return true;
}
/**
* 弱:
* 1)全部为数字或字母
* 2)数字与字母混合且少于8位
*/
if( (is_all_num || is_all_abc) || (have_num && have_abc && len < 8) ){
ops_show('<font color="#ff0000">密码强度弱</font>');
return true;
}
//其它
ops_show('<font color="#ff0000">密码强度一般</font>');
return true;
}

以上所述是小编给大家介绍的详解表单验证正则表达式实例(推荐)的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!