一些匹配方法 去除首尾的 1 2 input = input.replace(/^\/*|\/*$/g ,'' );
javascript:; 、javascript:void(0) 1 2 'javascript:;' .match(/^(javascript\s*\:|#)/ );
匹配 1 2 3 var str = "access_token=dcb90862-29fb-4b03-93ff-5f0a8f546250; refresh_token=702f4815-a0ff-456c-82ce-24e4d7d619e6; account_uid=1361177947320160506170322436" ;str.match(/account_uid=([^\=]+(\;)|(.*))/ig );
匹配一些字符 1 2 3 var str = 'asdf html-webpack-plugin for "index/index.html" asdfasdf' ;str.match(/html-webpack-plugin for \"(.*)\"/ig ); console .log(RegExp .$1 )
关键字符替换 1 2 'css/[hash:8].index-index.css' .replace(/\[(?:(\w+):)?(contenthash|hash)(?::([a-z]+\d*))?(?::(\d+))?\]/ig ,'(.*)' );
替换参数中的值 1 2 3 4 5 6 7 8 9 var str = '<!DOCTYPE html><html manifest="../../cache.manifest" lang="en"><head><meta charset="UTF-8">' ;str.replace(/<html[^>]*manifest="([^"]*)"[^>]*>/ ,function (word ) { return word.replace(/manifest="([^"]*)"/ ,'manifest="' +url+'"' ); }).replace(/<html(\s?[^\>]*\>)/ ,function (word ) { if (word.indexOf('manifest' )) return word; return word.replace('<html' ,'<html manifest="' +url+'"' ); });
匹配括号内容 1 2 3 4 'max_length(12)' .match(/^(.+?)\((.+)\)$/ )'hello(world)code(js)javascirpt' .match(/\((\w*)+?\)/gmi );
调换 1 2 3 var name = "Doe, John" ; name.replace(/(\w+)\s*, \s*(\w+)/ , "$2 $1" );
字符串截取 1 2 3 4 var str = 'asfdf === sdfaf ##' str.match(/[^===]+(?=[===])/g ) str.replace(/\n/g ,'' )
浏览器版本 1 2 navigator.userAgent.match(/chrome\/([\d]+)\.([\d]+)\.([\d]+)\.([\d]+)/i );
验证 小数点后几位验证 1 2 3 4 5 /^[1 -9 ][0 -9 ]*$|^[1 -9 ][0 -9 ]*\.[0 -9 ]$|^0 \.[0 -9 ]$/.test(1.2 ); /^[0 -9 ]+(.[0 -9 ]{2 })?$/.test(1.221 );
密码强度正则 1 2 3 4 5 /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8 ,10 }$/.test("weeeeeeeW2" ); /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/.test("diaoD123#");
校验中文 1 2 3 /^[\u4e00-\u9fa5]{0 ,}$/.test("但是d" ); /^[\u4e00-\u9fa5]{0 ,}$/.test("但是" ); /^[\u4e00-\u9fa5]{0 ,}$/.test("但是" );
包含中文正则 1 /[\u4E00-\u9FA5]/.test("但是d" )
由数字、26个英文字母或下划线组成的字符串
身份证号正则 1 2 3 /^[1 -9 ]\d{5 }(18 |19 |([23 ]\d))\d{2 }((0 [1 -9 ])|(10 |11 |12 ))(([0 -2 ][1 -9 ])|10 |20 |30 |31 )\d{3 }[0 -9 Xx]$/.test("42112319870115371X" );
校验日期 “yyyy-mm-dd“ 格式的日期校验,已考虑平闰年。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 var dP1 = /^\d{4}(\-)\d{1,2}\1\d{1,2}$/ ;console .log(dP1.test("2017-05-11" ));console .log(dP1.test("2017-15-11" ));var dP2 = /^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/ ;console .log(dP2.test("2017-02-11" ));console .log(dP2.test("2017-15-11" ));console .log(dP2.test("2017-02-29" ));
校验文件后缀 1 2 3 4 5 6 7 var strRegex = "(.jpg|.gif|.txt)" ; var re=new RegExp (strRegex); if (re.test(str)){ } /(.jpg|.gif)+(\?|\#|$)/.test('a/b/c.jpgsss'); //=> false /(.jpg|.gif)+(\?|\#|$)/.test('a/b/c.jpg?'); //=> true
用户名正则 1 2 3 /^[a-zA-Z0-9 _-]{4 ,16 }$/.test("diaodiao" );
整数正则 1 2 3 4 5 6 7 /^\d+$/.test("42" ); /^-\d+$/.test("-42" ); /^-?\d+$/.test("-42" ); /^[0 -9 ]+$/.test(25.5455 ) /^(?:[-+])?(?:[0 -9 ]+)?(?:\.[0 -9 ]*)?(?:[eE][\+\-]?(?:[0 -9 ]+))?$/.test(0.2 )
数字正则 可以是整数也可以是浮点数
1 2 3 /^\d*\.?\d+$/.test("42.2" ); /^-\d*\.?\d+$/.test("-42.2" ); /^-?\d*\.?\d+$/.test("-42.2" );
Email正则 1 2 3 4 5 6 7 8 9 10 11 /^([A-Za-z0-9 _\-\.])+\@([A-Za-z0-9 _\-\.])+\.([A-Za-z]{2 ,4 })$/.test("wowohoo@qq.com" ); /^[a-z0-9 ]+([._\\-]*[a-z0-9 ])*@([a-z0-9 ]+[-a-z0-9 ]*[a-z0-9 ]+.){1 ,63 }[a-z0-9 ]+$/.test("wowohoo@qq.com" );
传真号码 1 2 /^(([0 \+]\d{2 ,3 }-)?(0 \d{2 ,3 })-)(\d{7 ,8 })(-(\d{3 ,}))?$/.test('021-5055455' )
手机号码正则 1 2 3 4 5 6 7 8 9 10 11 /^1 [34578 ]\d{9 }$/.test("13611778887" ); /^((\+?[0 -9 ]{1 ,4 })|(\(\+86 \)))?(13 [0 -9 ]|14 [57 ]|15 [012356789 ]|17 [03678 ]|18 [0 -9 ])\d{8 }$/.test("13611778887" );
URL正则 1 2 3 4 5 6 7 8 9 10 11 /^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2 ,6 })([\/\w \.-]*)*\/?$/.test("http://wangchujiang.com" ); /^(http(?:|s)\:)*\/\/([^\/]+)/.test("http://www.baidu.com" ); /^((http|https):\/\/(\w+:{0 ,1 }\w*@)?(\S+)|)(:[0 -9 ]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/.test('https://www.baidu.com/s?wd=@#%$^&%$#' ) /^[a-zA-Z]+:\/\
域名正则表达式 1 2 /^([a-zA-Z0-9 ]([a-zA-Z0-9 \-]{0 ,61 }[a-zA-Z0-9 ])?\.)+[a-zA-Z]{2 ,6 }$/.test('blog.csdn.net' );
Mac地址匹配 1 2 /^([0 -9 a-fA-F][0 -9 a-fA-F]:){5 }([0 -9 a-fA-F][0 -9 a-fA-F])$/.test('dc:a9:04:77:37:20' );
浮点数正则表达式 1 2 /[-+]?(?:\b[0 -9 ]+(?:\.[0 -9 ]*)?|\.[0 -9 ]+\b)(?:[eE][-+]?[0 -9 ]+\b)?/.test(+334.4443434343e3); / /输出 true
IPv4地址正则 1 2 3 /^(?:(?: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 ]?)$/.test("192.168.130.199" );
日期格式化yyyy-MM-dd正则 1 2 /(19 |20 )\d\d([- /.])(0[1-9]|1[012])\2(0[1-9]|[12][0-9]|3[01])/ .test('2019-09-12' )
十六进制颜色正则 1 2 3 /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/.test("#b8b8b8");
QQ号码正则 1 2 /^[1 -9 ][0 -9 ]{4 ,10 }$/.test("398188661" );
微信号正则 1 2 /^[a-zA-Z]([-_a-zA-Z0-9 ]{5 ,19 })+$/.test("jslite" );
车牌号正则 1 2 /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1 }[A-Z]{1 }[A-Z0-9 ]{4 }[A-Z0-9 挂学警港澳]{1 }$/.test("沪B99116" )
颜色值校验 1 2 /^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test("#ccb2b2")
工具
---------------- The End ----------------
扫描+微信,共同学习.