JS 验证是我们最常见的验证,以下是我自己项目中遇到的相关验证,做了总结,如下:
一、限制文本框输入
1、文本框 中 只能输入数字和小数点
onkeyup="value=value.replace(/[^\d\.]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
如: 要输入一个商品的价格
<input type="text" name="price" onkeyup="value=value.replace(/[^\d\.]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" />
2、文本框 中 只能输入数字
onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"
3、文本框 中 只能输入汉字
onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
4、文本框只能输入大写字母与数字
onkeypress='return /^[0-9a-zA-Z]{0,4}$/.test(this.value)' onkeyup="value=value.replace(/[^\w\.\/]/ig,'')" style="text-transform: uppercase"
以上用法都一样,放到 要约束的 input 中或 JS 中。
二 、 js与正则 判断
1、 电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号)
((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)
2、邮箱验证
^[1-9][0-9]{5}$
3、邮编验证
^[1-9][0-9]{5}$
4、 电子邮箱验证
^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$
5、 身份证的验证
^(^\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$
//例子
一、限制文本框输入
1、文本框 中 只能输入数字和小数点
onkeyup="value=value.replace(/[^\d\.]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
如: 要输入一个商品的价格
<input type="text" name="price" onkeyup="value=value.replace(/[^\d\.]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" />
2、文本框 中 只能输入数字
onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"
3、文本框 中 只能输入汉字
onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
4、文本框只能输入大写字母与数字
onkeypress='return /^[0-9a-zA-Z]{0,4}$/.test(this.value)' onkeyup="value=value.replace(/[^\w\.\/]/ig,'')" style="text-transform: uppercase"
以上用法都一样,放到 要约束的 input 中或 JS 中。
二 、 js与正则 判断
1、 电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号)
((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)
2、邮箱验证
^[1-9][0-9]{5}$
3、邮编验证
^[1-9][0-9]{5}$
4、 电子邮箱验证
^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$
5、 身份证的验证
^(^\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$
//例子