2019独角兽企业重金招聘Python工程师标准>>>

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 ;

}

转载于:https://my.oschina.net/u/1771585/blog/523337

jQuery进行简单验证的正则表达式相关推荐

  1. jQuery之简单的表单验证

    jQuery之简单的表单验证 html部分: <body><form method="post" action=""><div c ...

  2. jQuery ajax简单案例-验证用户名是否可用

    jQuery ajax简单案例-验证用户名是否可用 HTML <!DOCTYPE html> <html> <head> <meta charset=&quo ...

  3. 一款比较实用齐全的jQuery 表单验证插件

    一款比较实用,并且验证类型齐全的jQuery表单验证插件.英文版原作者@Vanadium,由我做中文整理.E文水平有限,如果翻译的有问题的,请大家指出,在此感谢~ 可以验证哪些? 文字,日期,邮箱,网 ...

  4. 轻量级的jQuery表单验证插件 - HAPPY.js

    为什么80%的码农都做不了架构师?>>>    日期:2012-9-14  来源:GBin1.com 在线演示  本地下载 功能强大的表单验证插件很多,以前我们介绍过validati ...

  5. ajax校验用户名可用吗,基于jQuery实现Ajax验证用户名是否可用实例

    本文实例为大家分享了jQuery ajax简单案例-验证用户名是否可用的具体代码,供大家参考,具体内容如下 HTML Insert title here //页面加载完成后 $(function() ...

  6. jQuery 表单验证插件,jQuery Validation Engine用法详解

    jQuery 表单验证插件,jQuery Validation Engine用法详解 功能强大的 jQuery 表单验证插件,适用于日常的 E-mail.电话号码.网址等验证及 Ajax 验证,除自身 ...

  7. 【转】ASP.NET验证控件详解(非空验证,比较验证,范围验证,正则表达式,自定义验证)...

    [转]ASP.NET验证控件详解(非空验证,比较验证,范围验证,正则表达式,自定义验证) ASP.NET验证控件详解 现在ASP.NET,你不但可以轻松的实现对用户输入的验证,而且,还可以选择验证在服 ...

  8. php表单确认密码,jQuery表单验证之密码确认实例详解

    本文主要为大家详细介绍了jQuery表单验证之密码确认的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家. 众所周知,在修改密码时会需要两次输入密码.这时如何确保两个密码框 ...

  9. easyui js解析字符串_js相关:详解Jquery Easyui的验证扩展

    js相关:详解Jquery Easyui的验证扩展 发布于 2020-7-2| 复制链接 本文主要介绍了Jquery Easyui验证扩展,Easyui验证,Easyui校验,js正则表达式.具有一定 ...

最新文章

  1. SAP SD基础知识之凭证流(Document Flow)
  2. 系统下装软件_电力二次设备自动测试系统
  3. 计算机网络协议(一)
  4. 《每日论文》You Only Look Once: Unified, Real-Time Object Detection
  5. APP移动测试用例总结
  6. 用RDA方式同步SQLCE与SQL SERVER数据库
  7. 源码分析Netty系列
  8. 4.6 TF常用功能模块
  9. 建议IPC采用RTMP(server+rtmppush)的流媒体框架。
  10. selenium 区域截图
  11. HDU 5294 Tricks Device(多校2015 最大流+最短路)
  12. 使用JavaScript 实现简单的移动和缓动的动画效果
  13. 火狐Error 403 No valid crumb was included in the request并且浏览器一直是loading中
  14. c语言常用的运行速度优化,C语言程序设计优化(提速)
  15. Pytorch----卷积神经网络(CNN,图像边缘检测 , Sobel滤波器 , Scharr滤波器)--入门级小实例(逐行注释)---学习笔记
  16. PRA006/PRA010 开发板,Quartus Altera JTAG 配置,以及常见故障解决
  17. 从数学史角度看丁小平的微积分研究
  18. django框架之中间件
  19. Java 判空工具方法大全
  20. gradle-6.3-all 快速下载

热门文章

  1. 是否注意过isEmpty 和 isBlank 区别?
  2. 聊聊恺明大神MAE的成功之处!
  3. 一文讲解机器学习算法中的共线性问题
  4. PostgreSQL_row_number() over()_应用实例
  5. 博士因高校“虚假招聘”待遇不符辞职,却反被索要138万违约金,这是什么操作?...
  6. 一行命令装下所有「炼丹」工具及依赖项,就靠这个免费软件源了|教程
  7. 「懒人」LeCun想让计算机自己编程?网友:还差10个 GPT-3
  8. 如何在Colab上实现近200万图片的精准检索匹配?
  9. 余承东没有吹牛:华为首次超越三星,成为全球最大手机供应商
  10. 26岁已经是“双一流”高校博导!读博期间也曾两次想要退学......