表单验证之正则表达式

1.    手机号验证

经网络查询可知,中国三大运营商号码波段主要有:

(1).    移动号段:

134 135 136 137 138 139 147 150 151 152 157 158 159 178 182 183 184 187 188

(2).    联通号段:

130 131 132 145 155 156 171 175 176 185 186

(3).    电信号段:

133 149 153 173 177 180 181 189

虚拟运营商:

170

因此设定手机号验证的正则表达式如下:

^(13[0-9]|15[012356789]|17[0135678]|18[0-9]|14[579])[0-9]{8}$

2.    固话验证

固话格式主要包括(010)1234567-1234、010-1234567-1234、(010)1234567、010-1234567、1234567、12345678等格式,因此,设定手机号验证的正则表达式如下:

^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,8}(-\d{1,4})?$

3.    身份证验证

由于第一代身份证号和第二代身份证号规则不同,因此设定不同的验证规则,

第一代身份证号15位数,验证表达式:

^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$

第二代身份证18位数,验证表达式:

^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$

4.    信用卡、银行卡验证

信用卡、银行卡的验证规则是根据“模10”算法而来,“模10”算法的规则如下:

1、从卡号最后一位数字开始,逆向将奇数位(1、3、5等等)相加。

2、从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如果乘积为两位数,则将其减去9),再求和。

3、将奇数位总和加上偶数位总和,结果能被10整除则有效。

我国主流银行信用卡标准卡是16位卡号,借记卡一般是19位卡号,不完全是,因此以中国的卡号验证符合jQueryValidate验证规则。

creditcard: function( value, element ) {

if ( this.optional( element ) ) {

return "dependency-mismatch";

}

// accept only spaces, digits and dashes

if ( /[^0-9 \-]+/.test( value ) ) {

return false;

}

var nCheck = 0,

nDigit = 0,

bEven = false,

n, cDigit;

value = value.replace( /\D/g, "" );

// Basing min and max length on

// http://developer.ean.com/general_info/Valid_Credit_Card_Types

if ( value.length < 13 || value.length > 19 ) {

return false;

}

for ( n = value.length - 1; n >= 0; n--) {

cDigit = value.charAt( n );

nDigit = parseInt( cDigit, 10 );

if ( bEven ) {

if ( ( nDigit *= 2 ) > 9 ) {

nDigit -= 9;

}

}

nCheck += nDigit;

bEven = !bEven;

}

return ( nCheck % 10 ) === 0;

},

时间: 2024-10-17 16:45:04

表单验证之正则表达式的相关文章

1月28日 表单验证和正则表达式

表单验证:一.非空验证:1.内容是不是空的.判断值的长度是不是0.length属性. 2.内容是不是改变了. 二.对比验证:1.验证两个控件值的关系(相同,大小) 2.验证控件的值与某个固定值的关系. 三.范围验证: 四.格式验证:正则表达式.regularexpression 邮箱验证:(其他验证也是这个形式,只要把正则表达式换一下就可以) function checkEmail() { var reg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+

HTML(六)——表单验证、正则表达式、事件

1.表单验证<form></form> (1).非空验证(去空格) (2).对比验证(跟一个值对比) (3).范围验证(根据一个范围进行判断) (4).固定格式验证:电话号码,身份证号,邮箱,信用卡号等的验证:需要用到正则表达式来进行验证. (5).其它验证 2.正则表达式 用符号来描述书写规则:/ 中间写正则表达式 / ^ :匹配开头,$:匹配结尾 : /^ve/以ve开头的 /ve$/以ve结尾 \d:一个任意的数字 \w:一个任意的数字或字母 \s:任意字符串 {n}:把左边

JavaScript表单验证和正则表达式

JavaScript表单验证 分为四类: 1.非空验证 常用于用户名等 2.相等验证 常用于验证两次输入的密码 3.范围验证 常用于年龄等 4.正则验证 用于手机号,邮箱号等 以下是实例: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html

表单验证和正则表达式

表单验证: 一.非空验证: 1.内容是不是空的. 判断值的长度是不是0.length属性. 2.内容是不是改变了. 二.对比验证: 1.验证两个控件值的关系(相同,大小) 2.验证控件的值与某个固定值的关系. 三.范围验证: 四.格式验证: 正则表达式.regularexpression 字符 描述 \ 标记下一个字符是特殊字符或文字.例如,"n" 和字符 "n" 匹配."\n" 则和换行字符匹配.序列 "\\" 和 &quo

最常用的15个前端表单验证JS正则表达式

在表单验证中,使用正则表达式来验证正确与否是一个很频繁的操作,本文收集整理了15个常用的JavaScript正则表达式,其中包括用户名.密码强度.整数.数字.电子邮件地址(Email).手机号码.身份证号.URL地址. IPv4地址. 十六进制颜色. 日期. QQ号码. 微信号.车牌号.中文正则. 1 用户名正则 1 2 3 4 //用户名正则,4到16位(字母,数字,下划线,减号) var uPattern = /^[a-zA-Z0-9_-]{4,16}$/; //输出 true consol

inform表单验证,正则表达式,用户名,身份证,密码,验证码

最近利用空闲时间写了部分表单验证,包括用户名,身份证,密码,验证码,仅为自己巩固最近所学的知识 表单的样式使用的是table布局,因为觉得DIV布局定位比较麻烦,table有三列,分别为基本信息,输入的信息,提示信:输入信息栏,插入表单 1 <body> 2 <table> 3 <tr> 4 <td><p>会员名:</p></td> 5 <td><input type="text" n

关于表单验证的正则表达式

身份证号验证 var regIdNo = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; 邮箱验证 var regEmail = new RegExp("^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$"); 手机号 var regTel = /^1[3|4|5|7|8][0-9]{9}$/ 密码验证 var regPwd = /^(?=.*

正则表达式基础知识及常用表单验证正则(使用时查找为主,需多加基础方法的例子)

一.需要转义的特殊符号,也就是需要在前面添加\:!$ * + = | . ?  \  / [] {}  ^ () 二.正则表达式基本形式及方法:A:re =new RegExp(“a”,“i”);  //new出来的匹配方式B:   re=/a/i ;                            //直接量(更常用) pattern.exec(str)     //返回数组pattern.test(str)       //返回布尔值pattern.toSource(str)    

js常用正则表达式表单验证代码

方法一: var re=/正则表达式/; re.test($("txtid").val()) 方法二: $("txtid").val.match(/正则表达式/): 附: 验证数字的正则表达式集(转载) 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 验证