jQuery进行简单验证的正则表达式

1、验证电话号码或者手机号码


1

2

3

4

5

6

7

8

9

10


/**

 
* 验证电话号码(手机号码+电话号码)

 
* @param obj

 
* @returns {Boolean}

 
*/

function checkPhoneNum(obj){

    
if
(/^((\d{
3
}-\d{
8
}|\d{
4
}-\d{
7
,
8
})|(
1
[
3
|
5
|
7
|
8
][
0
-
9
]{
9
}))$/.test(obj)){

        
return
true
;

    
}

}

2、验证地址(中文、英文、数字)


1

2

3

4

5

6

7

8

9


/**

 
* 验证企业地址(中文、英文、数字)

 
* @param obj

 
*/

function checkAddress(obj){

    
if
(/^[\u4e00-\u9fa5a-zA-Z0-
9
]+$/.test(obj)){

        
return
true
;

    
}

}

3、验证用户名


1

2

3

4

5

6

7

8

9

10


/**

 
* 验证用户名输入格式

 
* @param obj

 
* @returns {Boolean}

 
*/

function checkUserName(obj){

    
if
(/^[a-zA-Z0-9_-]{
3
,
16
}$/.test(obj)){

        
return
true
;

    
}

}

4、验证密码


1

2

3

4

5

6

7

8

9

10


/**

 
* 验证密码输入格式

 
* @param obj

 
* @returns {Boolean}

 
*/

function verifyPassword(obj){

    
if
(/^[a-z0-9_-]{
5
,
18
}$/.test(obj)){

        
return
true
;

    
}

}

5、验证企业税号


1

2

3

4

5

6

7

8

9

10

11


/**

 
* 验证税号

 
* 15或者17或者18或者20位字母、数字组成

 
* @param obj

 
* @returns {Boolean}

 
*/

function checkTax(obj){

    
if
(/^[A-Z0-
9
]{
15
}$|^[A-Z0-
9
]{
17
}$|^[A-Z0-
9
]{
18
}$|^[A-Z0-
9
]{
20
}$/.test(obj)){

        
return
true
;

    
}

}

6、验证金额


1

2

3

4

5

6

7

8

9

10


/**

 
* 验证金额(可验证 大于等于零,小于等于99999999.99 的数字)

 
* @param obj

 
* @returns {Boolean}

 
*/

function checkMoney(obj){

    
if
(/^([
1
-
9
][\d]{
0
,
7
}|
0
)(\.[\d]{
1
,
2
})?$/.test(obj)){

        
return
true
;

    
}

}

7、验证身份证号,包括大陆身份证号,和港澳台身份证号,当然这里都只是简单的规范一下,实际的像香港的身份证号最后的括号里面的校验位都是需要根据前面的

数字依据一定的加权算法算出来进行校验的,这里没有涉及到。如果需要特别精确则可以去研究一番。


1

2

3

4

5

6

7

8

9

10

11


/**

 
* 验证大陆的身份证号

 
* 验证身份证号

 
* 身份证号码为15位或18位的全数字,或者18位时前17位是数字,最后一位是校验位,可能是数字或字符X或x

 
* @param obj

 
*/

function checkIdCard(obj){

    
if
(/(^\d{
15
}$)|(^\d{
18
}$)|(^\d{
17
}(\d|X|x)$)/.test(obj)){

        
return
true
;

    
}

}


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15


/**

 
* 验证港澳台身份证

 
* @param obj

 
*/

function checkGATIdCard(obj){

    
var reg1 = /^[A-Z]{
1
,
2
}[
0
-
9
]{
6
}[\(|\(]?[
0
-9A-Z][\)|\)]?$/;
//香港格式1 (香港身份证号码结构:XYabcdef(z))

    
var reg2 = /^[A-Z][
0
-
9
]{
8
,
12
}$/;
//香港格式2 (H60152555)

    

    
var reg3 = /^[
1
|
5
|
7
][
0
-
9
]{
6
}[\(|\(]?[
0
-9A-Z][\)|\)]?$/;
//澳门,8位数,不包含出生年月 格式为 xxxxxxx(x) 注:x全为数字,无英文字母 首位数只有1、5、7字开头的

    
var reg4 = /^[a-zA-Z][
0
-
9
]{
9
}$/;
//台湾:10位字母和数字

    

    
if
(reg1.test(obj) || reg2.test(obj) || reg3.test(obj) || reg4.test(obj)){

        
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

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181


/**

 
* 身份证15位编码规则:dddddd yymmdd xx p 

 
* dddddd:地区码 

 
* yymmdd: 出生年月日 

 
* xx: 顺序类编码,无法确定 

 
* p: 性别,奇数为男,偶数为女

 
* <p>

 
* 身份证18位编码规则:dddddd yyyymmdd xxx y 

 
* dddddd:地区码 

 
* yyyymmdd: 出生年月日 

 
* xxx:顺序类编码,无法确定,奇数为男,偶数为女 

 
* y: 校验码,该位数值可通过前17位计算获得

 
* <p>

 
* 18位号码加权因子为(从右到左) Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2,1 ]

 
* 验证位 Y = [ 1, 0, X, 9, 8, 7, 6, 5, 4, 3, 2 ] 

 
* 校验位计算公式:Y_P = mod( ∑(Ai×Wi),11 ) 

 
* i为身份证号码从右往左数的 2...18 位; Y_P为脚丫校验码所在校验码数组位置

 

 
*/

// 构造函数,变量为15位或者18位的身份证号码

function IdCardValidate(CardNo) {

  
this
.Valid =
false
;

  
this
.ID15 =
‘‘
;

  
this
.ID18 =
‘‘
;

  
this
.Local =
‘‘
;

  
if
(CardNo !=
null
)

    
this
.SetCardNo(CardNo);

}

// 设置身份证号码,15位或者18位

IdCardValidate.prototype.SetCardNo = function(CardNo) {

  
this
.ID15 =
‘‘
;

  
this
.ID18 =
‘‘
;

  
this
.Local =
‘‘
;

  
CardNo = CardNo.replace(
" "
,
""
);

  
var strCardNo;

  
if
(CardNo.length ==
18
) {

    
pattern = /^\d{
17
}(\d|x|X)$/;

    
if
(pattern.exec(CardNo) ==
null
)

      
return
;

    
strCardNo = CardNo.toUpperCase();

  
}
else
{

    
pattern = /^\d{
15
}$/;

    
if
(pattern.exec(CardNo) ==
null
)

      
return
;

    
strCardNo = CardNo.substr(
0
,
6
) +
‘19‘
+ CardNo.substr(
6
,
9
)

    
strCardNo +=
this
.GetVCode(strCardNo);

  
}

  
this
.Valid =
this
.CheckValid(strCardNo);

}

// 校验身份证有效性

IdCardValidate.prototype.IsValid = function() {

  
return
this
.Valid;

}

// 返回生日字符串,格式如下,1981-10-10

IdCardValidate.prototype.GetBirthDate = function() {

  
var BirthDate =
‘‘
;

  
if
(
this
.Valid)

    
BirthDate =
this
.GetBirthYear() +
‘-‘
+
this
.GetBirthMonth() +
‘-‘

        
+
this
.GetBirthDay();

  
return
BirthDate;

}

// 返回生日中的年,格式如下,1981

IdCardValidate.prototype.GetBirthYear = function() {

  
var BirthYear =
‘‘
;

  
if
(
this
.Valid)

    
BirthYear =
this
.ID18.substr(
6
,
4
);

  
return
BirthYear;

}

// 返回生日中的月,格式如下,10

IdCardValidate.prototype.GetBirthMonth = function() {

  
var BirthMonth =
‘‘
;

  
if
(
this
.Valid)

    
BirthMonth =
this
.ID18.substr(
10
,
2
);

  
if
(BirthMonth.charAt(
0
) ==
‘0‘
)

    
BirthMonth = BirthMonth.charAt(
1
);

  
return
BirthMonth;

}

// 返回生日中的日,格式如下,10

IdCardValidate.prototype.GetBirthDay = function() {

  
var BirthDay =
‘‘
;

  
if
(
this
.Valid)

    
BirthDay =
this
.ID18.substr(
12
,
2
);

  
return
BirthDay;

}

// 返回性别,1:男,0:女

IdCardValidate.prototype.GetSex = function() {

  
var Sex =
‘‘
;

  
if
(
this
.Valid)

    
Sex =
this
.ID18.charAt(
16
) %
2
;

  
return
Sex;

}

// 返回15位身份证号码

IdCardValidate.prototype.Get15 = function() {

  
var ID15 =
‘‘
;

  
if
(
this
.Valid)

    
ID15 =
this
.ID15;

  
return
ID15;

}

// 返回18位身份证号码

IdCardValidate.prototype.Get18 = function() {

  
var ID18 =
‘‘
;

  
if
(
this
.Valid)

    
ID18 =
this
.ID18;

  
return
ID18;

}

// 返回所在省,例如:上海市、浙江省

IdCardValidate.prototype.GetLocal = function() {

  
var Local =
‘‘
;

  
if
(
this
.Valid)

    
Local =
this
.Local;

  
return
Local;

}

//获取身份证号码为18位时最后的验证位

IdCardValidate.prototype.GetVCode = function(CardNo17) {

  
var Wi =
new
Array(
7
,
9
,
10
,
5
,
8
,
4
,
2
,
1
,
6
,
3
,
7
,
9
,
10
,
5
,
8
,
4
,
2
,
1
);

  
var Ai =
new
Array(
‘1‘
,
‘0‘
,
‘X‘
,
‘9‘
,
‘8‘
,
‘7‘
,
‘6‘
,
‘5‘
,
‘4‘
,
‘3‘
,
‘2‘
);

  
var cardNoSum =
0
;

  
for
(var i =
0
; i < CardNo17.length; i++)

    
cardNoSum += CardNo17.charAt(i) * Wi[i];

  
var seq = cardNoSum %
11
;

  
return
Ai[seq];

}

IdCardValidate.prototype.CheckValid = function(CardNo18) {

  
if
(
this
.GetVCode(CardNo18.substr(
0
,
17
)) != CardNo18.charAt(
17
))

    
return
false
;

  
if
(!
this
.IsDate(CardNo18.substr(
6
,
8
)))

    
return
false
;

  
var aCity = {

    
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
:
"国外"

  
};

  
if
(aCity[parseInt(CardNo18.substr(
0
,
2
))] ==
null
)

    
return
false
;

  
this
.ID18 = CardNo18;

  
this
.ID15 = CardNo18.substr(
0
,
6
) + CardNo18.substr(
8
,
9
);

  
this
.Local = aCity[parseInt(CardNo18.substr(
0
,
2
))];

  
return
true
;

}

//验证18位数身份证号码中的生日是否是有效生日

IdCardValidate.prototype.IsDate = function(strDate) {

  
var r = strDate.match(/^(\d{
1
,
4
})(\d{
1
,
2
})(\d{
1
,
2
})$/);

  
if
(r ==
null
)

    
return
false
;

  
var d =
new
Date(r[
1
], r[
2
] -
1
, r[
3
]);

  
return
(d.getFullYear() == r[
1
] && (d.getMonth() +
1
) == r[
2
] && d

      
.getDate() == r[
3
]);

}</p>

把上面的代码放到一个js文件中,然后在(jsp)页面中引入该js文件,再调用即可


1

2

3

4

5


var checkIdCard =
new
IdCardValidate(id_card);

if
(!checkIdCard.IsValid()){

    
alert(
‘您输入的身份证格式不正确!‘
);

    
return
;

}

时间: 2024-12-12 13:57:06

jQuery进行简单验证的正则表达式的相关文章

JQuery表单验证插件EasyValidator,超级简单易用!

本插件的宗旨是:用户无需写一行JS验证代码,只需在要验证的表单中加入相应的验证属性即可,让验证功能易维护,可扩展,更容易上手. DEMO中已经包含了常用的正则表达式,可以直接复用,为了考虑扩展性,所以针对不同用户特殊需求,自行写正则吧. 顺便AD下刚出炉的小站,欢迎捧场:www.paipaiyou.com EasyValidator实现的功能: 1.提示功能(在表单或者其他标签中加入tip="想提示的文字") 如: <input name="name" tip

简单的Jquery表单验证

本段代码举了一个最简单的表单验证实例,就是判断输入框是否为空而已,大家可以根据这个原理,加入正则表达式判断,实现各种功能强大的表单验证功能 <html>    <head>        <title>Validate empty fields</title>        <style type="text/css">            body{font-family:"Trebuchet MS",

如何利用jQuery进行简单表单验证

如何利用jQuery进行简单表单验证:利用jQuery可以进行表单验证,当然有比较复杂的表单验证,这里就不介绍了,下面就简单介绍一下如何使用jQuery进行简单的表单验证,然后大家可以通过改造进行基本的表达验证了.先看一段代码实例: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http

jQuery form插件的使用--用 formData 参数校验表单,验证后提交(简单验证).

Form Plugin API 里提供了很多有用的方法可以让你轻松的处理表单里的数据和表单的提交过程. 测试环境:部署到Tomcat中的web项目. 一.引入依赖js <script src="jquery-1.3.1.js" type="text/javascript"></script> <script src="jquery.form.js" type="text/javascript"&g

JQuery数字类型验证正则表达式

有朋友整了一些关于js与jquery的数字类型验证正则表达式代码,下面我给大家再整理一下这里包括了数字验证实现与测试实例了,大家可参考. js验证数字正则表达式  代码如下复制代码    function istrue(a) 有朋友整了一些关于js与jquery的数字类型验证正则表达式代码,下面我给大家再整理一下这里包括了数字验证实现与测试实例了,大家可参考. js验证数字正则表达式  代码如下 复制代码 function istrue(a){ var reg=/^(([a-z]+[0-9]+)

jQuery邮箱格式验证代码

jQuery邮箱格式验证代码:在表单提交的时候可能需要用到邮箱验证代码,代码比较简单,就是邮箱格式的判断,如果说有难点可能就是关于正则表达式的使用,这里就不多说了,大家可以自行查询,下面就给出一段可以使用的验证代码,复制黏贴即可.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content=&quo

【jQuery基础学习】06 jQuery表单验证插件-Validation

jQuery的基础部分前面都讲完了,那么就看插件了. 关于jQuery表单验证插件-Validation validation特点: 内置验证规则:拥有必填.数字.E-Mail.URL和信用卡号码等19类内置验证规则 自定义验证规则:可以很方便地自定义验证规则 简单强大的验证信息提示:默认了验证信息提示,并提供了自定义覆盖默认提示信息的功能 实时验证:可以通过keyup或者blur事件触发验证,而不仅仅在表单提交的时候验证 使用方法: 引用jQuery库和Validation插件 <script

【jquery】Validform,一款不错的 jquery 表单验证插件

关于 Validform 这是一款很不错的 jquery 表单验证插件,它几乎能够满足任何验证需求,仅仅一行代码就能搞定整站的表单验证. $('form').Validform(); 为什么能如此方便?插件的核心思想就是把所有的验证条件及验证提示信息绑定到每个表单元素,让验证代码在执行时只是核对表单下各元素的值是否跟绑定的验证条件相符,这样你可以随便添加或者去掉任一表单元素而不必修改验证代码,从而使仅用一行代码去完成整站的表单验证的梦想成为现实! 功能简介 可以在 input 上直接绑定正则,可

jquery.validate自定义验证--成功提示与择要提示

在Swing 中显示文本或提示信息的方法是使用标签,它支持文本字符串和图标.在应用程序的用户界面中,一个简短的文本标签可以使用户知道这些控件的目的,所以标签在Swing中是比较常用的控件. 1.标签的使用 标签由JLabel类定义,父类为JComponent类. 标签可以显示一行只读文本,一个图像或带图像的文本,它并不能产生任何类型的事件,只是简单低显示文本和图片,但是可以使用标签的特性指定标签上文本的对齐方式. JLabel类提供了多种构造方法,这样可以创建多种标签,例如显示只有文本的标签.只