Vue.js专区

前端常用的正则 以及 input正则验证

2019-07-15  本文已影响52人  可怜的小黑兔

前端常用的正则

1.字母、数字、中文、小数

/^[A-Z]+$/    //大写字母
/^[a-z]+$/    //小写字母
/[^A-Za-z]/   //非字母
/^[0-9]{8}$/   //纯8位数字
/^[\u4E00-\u9FA5]/   //纯中文
/^\d+\.\d+$/   //是否小数
/^[A-Za-z0-9]+$/   //数字和字母
/^(([\u4E00-\u9FA5])|(\d))+$/   //中文和数字

2.日期

/^\d{4}(-)\d{1,2}\1\d{1,2}$/

3.手机号、座机

/^1((3[\d])|(4[5,6,9])|(5[0-3,5-9])|(6[5-7])|(7[0-8])|(8[1-3,5-8])|(9[1,8,9]))\d{8}$/   //手机号
/\d{3}-\d{8}|\d{4}-\d{7}/   //国内座机电话,如: 0341-86091234
/^((0\d{2,3}-\d{7,8})|(1[345789]\d{9}))$/   //电话格式(手机和座机)

4.qq、微信、email

/^[1-9]*[1-9][0-9]*$/   //qq号
/^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/   //微信号,6至20位,以字母开头,字母,数字,减号,下划线
/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/   //email地址

5.用户名、密码

/^[a-zA-Z0-9_-]{4,16}$/   //用户名,4到16位(字母,数字,下划线,减号)
/^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/   //密码强度,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符

6.身份证号(15位、18位数字),最后一位是校验位,可能为数字或字符X

/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/

7.中国邮政编码

/^(0[1-7]|1[0-356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[0-5]|8[013-6])\d{4}$/

8.其他

/<(.*)>.*<\/\1>|<(.*) \/>/   //是否html标签
/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/   //16进制颜色
/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/   //ipv4地址

input正则验证

1.输入数字
<input type="text" onkeyup="this.value=this.value.replace(/\D/g,'')">  
 
2.输入英文
<input type="text" onkeyup="this.value=this.value.replace(/[^a-zA-Z]/g,'')">  

3.输入中文
<input type="text" onkeyup="this.value=this.value.replace(/[^\u4e00-\u9fa5]/g,'')">  

4.只输入数字和字母  
<input type="text" onkeyup="value=value.replace(/[\W]/g,'')"> 

5.只能输入数字和英文
<input onkeyup="value=value.replace(/[^\d|chun]/g,'')">

6.只能输入英文字母和数字(不能输入中文)
<input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')">

7.只能输入字母和汉字
<input onkeyup="value=value.replace(/[\d]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))" >

8.只能输入中文 、数字、英文
<input type="text" onkeyup="value=value.replace(/[^\w\u4E00-\u9FA5]/g, '')"> 

9.除了英文的标点符号以外,其他的都可以:中文,英文字母,数字,中文标点
<input type="text" onkeyup="this.value=this.value.replace(/^[^!@#$%^&amp;*()-=+]/g,'')">

10.小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号:
<input onkeypress="if((event.keyCode<48 || event.keyCode>57) &amp;&amp; event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false">

11.小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号:
<input onkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')">

12.只能输入数字代码(小数点也不能输入)
<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">
上一篇下一篇

猜你喜欢

热点阅读