美文网首页
常用的正则校验

常用的正则校验

作者: 指尖轻敲 | 来源:发表于2018-11-26 10:03 被阅读0次
    1-255整数正则
    (25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|[1-9])
    
    姓名(纯汉字)校验

    [\u4E00-\u9Fa5]表示中文汉字。以下代码匹配2-10个汉字,如果有不是汉字的字符则返回null。如果是纯数字,则返回一个数组。第一个元素为这个纯汉字的字符串。

    var name = "sd152哈2";
    name.match(/^[\u4E00-\u9Fa5]{2,10}$/g)); //null
    
    var name = "哈哈";
    name.match(/^[\u4E00-\u9Fa5]{2,10}$/g)); //["哈哈"]
    
    身份证号校验

    ^[0-9]{17}[0-9x]$表示以数字开头17位,加最后一位数字或X

    id.match(/^[0-9]{17}[0-9x]$/i));
    
    手机号等(纯数字)校验
    //判断是纯数字
    var re = /^[0-9]*[1-9][0-9]*$/
    re.test("1025sds"); //false
    
    密码等(不能包含汉字)校验

    search搜索字符串中是否包含汉字,如果有返回第一个出现的下标,没有则返回-1

    //判断字符串是否包含汉字
    var re = /[\u4E00-\u9FA5]/;
    "大大142525".search(re); //0
    "sdd142525".search(re); //-1
    

    判断有没有表情字符

    isEmojiCharacter: function(substring) {
        for ( var i = 0; i < substring.length; i++) {
            var hs = substring.charCodeAt(i);
            if (0xd800 <= hs && hs <= 0xdbff) {
                if (substring.length > 1) {
                    var ls = substring.charCodeAt(i + 1);
                    var uc = ((hs - 0xd800) * 0x400) + (ls - 0xdc00) + 0x10000;
                    if (0x1d000 <= uc && uc <= 0x1f77f) {
                        return true;
                    }
                }
            } else if (substring.length > 1) {
                var ls = substring.charCodeAt(i + 1);
                if (ls == 0x20e3) {
                    return true;
                }
            } else {
                if (0x2100 <= hs && hs <= 0x27ff) {
                    return true;
                } else if (0x2B05 <= hs && hs <= 0x2b07) {
                    return true;
                } else if (0x2934 <= hs && hs <= 0x2935) {
                    return true;
                } else if (0x3297 <= hs && hs <= 0x3299) {
                    return true;
                } else if (hs == 0xa9 || hs == 0xae || hs == 0x303d || hs == 0x3030
                    || hs == 0x2b55 || hs == 0x2b1c || hs == 0x2b1b
                    || hs == 0x2b50) {
                    return true;
                }
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:常用的正则校验

          本文链接:https://www.haomeiwen.com/subject/drmvqqtx.html