一些正则积累

/^[1-9][0-9]{0,4}$/

/^[1-9][0-9]{0,4}(,[1-9][0-9]{0,4})*$/

/^([a-zA-Z0-9_\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/

^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

 

#正则表达式#数值加上千分符

'1234567890.12'.replace(/(\d)(?=(\d{3})+(\.|$))/g, '$1,')==='1,234,567,890.12'/[\\|\/,%,&,*)(:]/gi

 function formatCash(str) { return str.split('').reverse().reduce((prev, next, index) => { return ((index % 3) ? next : (next + ',')) + prev }) }

 

身份证号码正则表达式:

第一代身份证只有15位数,第二代身份证有18位数,各位按照需求来选择表达式。

//第二代身份证号码正则
let isTrue = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
//第一代身份证正则表达式(15位)
let isTrue=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;

手机号码正则表达式:

时间截止为:2018年1月11日

移动号段:134 135 136 137 138 139 147 148 150 151 152 157 158 159 172 178 182 183 184 187 188 198

联通号段:130 131 132 145 146 155 156 166 171 175 176 185 186

电信号段:133 149 153 173 174 177 180 181 189 199

虚拟运营商:170

    let isTrue = /^(13[0-9]|14[5-9]|15[012356789]|166|17[0-8]|18[0-9]|19[8-9])[0-9]{8}$/;  

邮箱正则表达式:

let isTrue =/^([A-Za-z0-9_\-\.\u4e00-\u9fa5])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,8})$/;

用户名正则:

////用户名正则,4到16位(字母,数字,下划线,减号)
let isTrue = /^[a-zA-Z0-9_-]{4,16}$/;

密码正则:

密码正则,以字母开头,长度在6~18之间,只能包含字母、数字和下划线

let isTrue =^[a-zA-Z]\w{5,17}$;

强密码正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符

let isTrue = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;

QQ号码正则:

let isTrue = /^[1-9][0-9]{4,10}$/;

微信号码正则:

//微信号正则,6至20位,以字母开头,字母,数字,减号,下划线
let isTrue = /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/;

特殊字符检测正则:

   let isTrue= /["'<>%;)(&+]+-!!@#$~/;

域名正则:

let isTrue=[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?;    

车牌号码正则:

let isTrue = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/;

包含中文正则:

let isTrue = /[\u4E00-\u9FA5]/;
//这个可以用于验证用户的真实姓名。

护照正则:

let isTrue=/^(P\d{7}|G\d{7,8}|TH\d{7,8}|S\d{7,8}|A\d{7,8}|L\d{7,8}|\d{9}|D\d+|1[4,5]\d{7})$/;

固定电话正则:

let isTrue=(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8};

IP地址正则:

let isTrue=\d+\.\d+\.\d+\.\d+;

邮政编码正则:

let isTrue=[1-9]{1}(\d+){5};

经纬度正则

//经度正则
 let isTrue=/^(\-|\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,6})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|180\.0{0,6}|180)$/;
 //纬度正则
 let isTrue=/^(\-|\+)?([0-8]?\d{1}\.\d{0,6}|90\.0{0,6}|[0-8]?\d{1}|90)$/;

 正则提取通用写法

url.match(/xxx=(\S*?)&/)[1]    加?只会返回第一个xxx=后面&前面的内容  不加? 贪婪模式 会一直匹配最后一个&之前的内容

未完待续,本文章待补充....

posted @ 2018-03-16 17:38  创业男生  阅读(146)  评论(0编辑  收藏  举报