常用正则表达式

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/

posted @ 2020-02-13 15:24  程序员瑶琴  阅读(150)  评论(0编辑  收藏  举报