常用正则表达式
1.验证QQ,昵称,手机号,邮箱,email,等验证
var regexp={ 'chinese':/^[\u4e00-\u9fa5]$/, //验证中文 'number':/^\d$/, //验证数字 'letter':/^[a-zA-Z]$/, //验证字母 'integer':/^-?\d+$/, //验证整数 'int':/^[1-9]\d*$/, //验证正整数 'qq':/^[1-9]\d{4,}$/, //验证qq号 'email':/^\w+(\.\w+)*@(\w+\.)*[a-zA-Z0-9]{2,4}$/, //验证邮箱 'idcard':/^\d{17}[0-9x]$/, //验证身份证号, 'tel':/^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/, //验证手机号 'html':/^<\/?[a-zA-Z]+(\s+[a-zA-Z]+=".*")*>$/ig, //验证HTML标签 'styleUpper':/^-([a-z])$/ig ,//验证转驼峰 'url':/^[a-zA-z]+://[^\s]*$/ //验证URL,或者^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ }
2.去除首位空格
var str=' Alex '; var pattern=/^\s+/; //首空白,这里用+,而不用*;是因为当首位没有空格的时候,也会执行替换,换成+,至少又一个空格才会执行替换,不会浪费资源 console.log('|'+str.replace(pattern,'')+'|');
//分开去除,所用时间少 var str=' Lita '; var pattern1=/^\s+/; //同时去除首尾空格 var pattern2=/\s+$/; console.log('|'+str.replace(pattern1,'').replace(pattern2,'')+'|'); //封装去除首尾空格的函数 function trim(str){ return str.replace(/^\s+/,'').replace(/\s+$/,''); }
3.css样式转驼峰
var str='background-color'; var pattern=/-([a-z])/gi; //all是匹配到的所有内容 console.log(str.replace(pattern,function($0,$1){ console.log($0); //-c return $1.toUpperCase(); //C })); // 转驼峰函数 function toUpCase(str){ //all是匹配到的字符,letter和letter之后是所获得的分组 return str.replace(pattern,function(all,letter){ return letter.toUpperCase(); }); };
4.匹配HTML标签
var str='<p class="odd" id="odd">123</p>'; //.表示所有 var pattern=/<\/?[a-zA-Z]+(\s+[a-zA-Z]+=".*")*>/ig; console.log(str.match(pattern)); //["<p class="odd" id="odd">", "</p>"],只匹配标签
var str='<p class="odd" id="odd">123</p>'; var pattern=/<([a-zA-Z]+)(\s+[a-zA-Z]+=".*")*>(.*?)<\/\1>/g; console.log(str.match(pattern)); //匹配到标签和内容
补充:一位大佬的博客:https://blog.csdn.net/ZYC88888/article/details/98479629
正则表达式验证网站:https://tool.oschina.net/regex/
加油!