一些简单常用的JS正则表达式

正则收集
//验证手机号 eg:  checkTel("13812345678")
function checkTel(value){
    var re = /^1[3|4|5|7|8]\d{9}$/;//手机号码正则表达式
    return re.test(value);
}

//验证座机号  eg:  checkPhone("0577-22345678")
function checkPhone(value){
    var re=/^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/;//座机号正则表达式
    return re.test(value);
}

//验证邮箱  eg:  checkEmail("123456@qq.com")
function checkEmail(value){
    var re=/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;//邮箱正则表达式
    return re.test(value);
}

//验证只能是数字  eg:  checkNum("123")
function checkNum(value){
    var re=/^[0-9]*$/;
    return re.test(value);
}

//验证只能是正整数  eg:  checkPositiveNum("123")
function checkPositiveNum(value){
    var re=/^\+?[1-9]\d*$/;
    return re.test(value);
}

//验证日期  eg:  checkDate("2017-07-27")
function checkDate(value){
    var re=/^\d{4}-\d{1,2}-\d{1,2}(\s\d{1,2}(:\d{1,2}(:\d{1,2})?)?)?$/;
    return re.test(value);
}

//验证数字个数 eg:  checkNumCount("123456")
function checkNumCount(value){
    var re=/^\d{6}$/;//数字个数正则表达式(6位)
    return re.test(value);
}

//验证数字是带1-2位小数的正数或负数(可以是不带小数点的整数) 
//eg:  checkNumDecimal("-12.55")  checkNumDecimal("12.3")  checkNumDecimal("12")
function checkNumDecimal(value){
    var re=/^(\-)?\d+(\.\d{1,2})?$/;
    return re.test(value);
}

//验证只能是汉字 eg:  checkChinese("中国")
function checkChinese(value){
    var re=/^[\u4e00-\u9fa5]{0,}$/;
    return re.test(value);
}

//验证只能是英文 eg:  checkEnglish("aA")
function checkEnglish(value){
    var re=/^[A-Za-z]+$/;
    return re.test(value);
}

//验证只能是英文或者数字 eg:  checkEngNum("123aaa")
function checkEngNum(value){
    var re=/^[A-Za-z0-9]+$/;
    return re.test(value);
}

//验证只能是英文和数字,只能是字母开头,6-16位  eg:  checkEngAndNum("aaa123AA")
function checkEngAndNum(value){
    var re=/^[A-Za-z]+[0-9A-Za-z]{5,15}$/;
    return re.test(value);
}

//验证只能是英文或者数字或者下划线 eg:  checkEngNumXia("123_aaa")
function checkEngNumXia(value){
    var re=/^\w+$/;
    return re.test(value);
}

//验证域名 eg:  checkUrl("http://www.baidu.com")
function checkUrl(value){
    var re=/([a-z0-9][a-z0-9\-]*?\.(?:com|cn|net|org|gov|info|la|ltd|wang|xyz|ren|biz|tv|cc|co|top|shop|我爱你|中国|公司|网络|集团)(?:\.(?:cn|jp))?)$/;
    return re.test(value);
}

//验证用户名 (所有字符,2-20位)eg:  checkUserName("123456")
function checkUserName(value){
    var re=/^.{2,20}$/;
    return re.test(value);
}

//验证密码 (6-18位,字母、数字、特殊符)eg:  checkPassword("123456")
function checkPassword(value){
    var re=/^.{6,18}$/;//.代表任何字符
    return re.test(value);
}

//验证身份证(18位)
function checkIdCard(value){
    var sfz18=0,    //身份证第18位
        sfz=value,
        test2=[1,0,"X",9,8,7,6,5,4,3,2],
        sfz_array=sfz.split("");
    if(sfz.length!=18&&sfz.length!=0){  //  身份证不是18位        
        return false;
    }
    if(sfz.length==18){
        var test=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];         
        for(var i=0;i<17;i++){
            sfz18+=test[i]*sfz_array[i];
        }
        sfz18%=11;      
        sfz18=test2[sfz18];
        if(sfz18!=sfz_array[17]){   //身份证的第18位按一定规律计算           
             return false;
        }
        else return true;
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 对于正则,著称火星文字,见名知意主要它晦涩难懂,一直以来,看到它总是怕怕的,在平时,也只是简单的用用,其主要...
    itclanCoder阅读 799评论 0 2
  • 在表单验证中,使用正则表达式来验证正确与否是一个很频繁的操作,本文收集整理了15个常用的javaScript正则表...
    阳光之城alt阅读 380评论 0 0
  • 忘了从哪收集的资料了,放这儿,以备不时之需。 只能输入数字:"^[0-9]*$"。 只能输入n位的数字:"^\d{...
    study_monkey阅读 1,426评论 0 7
  • 为什么要做这件事 做事情总得有些理由才能持久的执行下去,因为最近学习html5语言,常规使用的很多信息需要表单来进...
    TsingQue阅读 2,169评论 0 8
  • 虽然身在杭州,然而西湖于我,却像一个相望于心,却许久未曾谋面的朋友。 因为实在无睱安排一份清闲,可以踏足湖边。 十...
    三三不惑阅读 843评论 4 24