写的每条正则记录在册(持续更新)

作者 BiYuqi 日期 2017-03-20
写的每条正则记录在册(持续更新)

正则这门语言实在是太强大,用的好可以大大减少工作量,大多时候会写很多重复类似的正则,处于爱护脑细胞的考虑,我决定从今往后的所写的正则,都记录下来.

不能纯字母数字 必须包含两者

var reg1 = /^(?=.*?[0-9])(?=.*?[a-z])[0-9a-z]+$/;
var reg2 = /(?!^[0-9]+$)(?!^[a-z]+$)^[0-9a-z]+$/;

不能纯字母数字 必须包含三者 (….发散下思维判断密码强弱的表达式)

var reg3 = /(?!^[0-9]+$)(?!^[a-z]+$)(?!^[_\-@&=]]+$)^[0-9a-z_\-@&=]+$/;
var reg4 = /^(?=.*?[0-9])(?=.*?[a-z])(?=.*?[_\-@&=])[0-9a-z_\-@&=]+$/;

药品库规格 药品规格 测试用例

//ex:匹配如下
//12*13  12mg*3 12mg*3 片(盒|粒)
//0.12*12 7片*6盒
var reg = /^(([1-9]+\d*(\.\d*)?)|(^0\.[1-9]+\d*))([a-zA-Zμ]*|[\u4e00-\u9fa5]*)*?\*([1-9]+\d*)[\u4e00-\u9fa5]*$/;

判断文件类型

var reg6 = /\.(doc|png|image)$/;//等等 需要什么文件可以自动添加

排除指定字符

//找出其中 包含 p 但不包含 ph 的所有单词,即
//[ 'python', 'javascript', 'jsonp' ]
var web_development = "python php ruby javascript jsonp perhapsphpisoutdated";
var reg = /\b(?=\w*p)(?!\w*ph)\w+\b/g

排除结尾不以什么字符结尾

//不以is结尾的单词
var str =  `existing
            pessimist
            this
            is
            the
            `;
var reg = /\b\w+[^is]$\b/gm;//跨行

检测是否出现重复字符2个及以上(2017/4/6)

function get(s){
    // 例如aabcdf abbbdfsdf
    var reg = /(.)\1+/g;
    //排序
    s = s.split('');
    s.sort();
    s = s.join('');
    //校验
    if(reg.test(s)){
        console.log("哎呀,碰到了重复字符")
    }
}
var str = 'asfawertyha';
get(str);

字符去重(2017/4/10)

function get(s){
    //排序
    s = s.split('');
    s.sort();
    s = s.join('');
    //该正则与上一条有区别
    var reg = /(.)\1*/g;
    var tt = '';//存储新字符串
    var m;//变量
    while (m = reg.exec(s)){
        tt += m[1];//循环去重
    }
    //返回去重后的字符
    return tt;
}
var str = 'asfaasdwesdfrtyha';
get(str);
//adefhrstwy

匹配1000-65535区间的数字(不包含9999)(2017/5/4)

var reg = /^(?!9999)([1-9]\d{3}|[1-5]\d{4}|6[0-5]{2}[0-3][0-5])$/;

链接巧妙取纯数字(2017/5/4)

var reg = /\b\d+\b/;
//test 尾数后面的纯数字,不出意外都可以取出来
http://www.66play.com/Home/share/match/id/39455  
http://www.66play.com/match-detail-151951
http://www.66play.com/Home/share/match/id/148853?