常用的JavaScript正则表达式

可以验证整数,非负整数,负整数,数字,非负数,负数,浮点数,正浮点数,负浮点数,邮箱地址,十六进制颜色,中文,ASCII,中国编码号码,IP地址,不能为空,图片,压缩文件,日期,密码,字母,字母与数字,电话或传真。

/*************Invoke****************************************************************
*   inputId = "txtContent";
*   regType = regExp.Int;
*   <input type="text" id="txtContent"/>
*   <input type="submit" id="btnCheck" value="测试" οnclick="return checkInput()" />   
***********************************************************************************/

if (typeof regExp == "undefined") {
    var regExp = {
        Int: /^([+-]?)\d+$/,
        NonegativeInt: /^([+]?)\d+$/,
        NonInt: /^-\d+$/,
        Num: /^([+-]?)\d*\.?\d+$/,
        NonegativeNum: /^([+]?)\d*\.?\d+$/,
        NonNum: /^-\d*\.?\d+$/,
        Float: /^([+-]?)\d*\.\d+$/,
        PositiveFloat: /^([+]?)\d*\.\d+$/,
        NonFloat: /^-\d*\.\d+$/,
        Email: /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/,
        HexColor: /^#[a-fA-F0-9]{6}/,
        Chinese: /^[\u4E00-\u9FA5\uF900-\uFA2D]+$/,
        Ascii: /^[\x00-\xFF]+$/,
        ZipCode: /^\d{6}$/,
        Ip: /^\d{1,3}\.\d{1,3}\.\d{1,3}.\d{1,3}$/,
        NotEmpty: /^\S+$/,
        Picture: /(.*)\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga)$/,
        RarZip: /(.*)\.(rar|zip|7zip|tgz)$/,
        Date: /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/,
        Password: /^(\w){6,20}$/,
        Alphabet: /^[A-Za-z]+$/,
        LetterNum: /^[A-Za-z0-9]+$/,
        Tel: /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/
    }
}

if (typeof error == "undefined") {
    var error = {
        Int: "请输入整数",
        NonegativeInt: "请输入非负整数",
        NonInt: "请输入负整数",
        Num: "请输入数字",
        NonegativeNum: "请输入非负数",
        NonNum: "请输入负数",
        Float: "请输入浮点数",
        PositiveFloat: "请输入正浮点数",
        NonFloat: "请输入负浮点数",
        Email: "请输入正确的邮箱地址",
        HexColor: "请输入正确的十六进制颜色",
        Chinese: "请输入中文",
        Ascii: "请输入ASCII",
        ZipCode: "请输入中国邮编号码",
        Ip: "请输入正确的IP地址",
        NotEmpty: "不能为空",
        Picture: "请选择图片",
        RarZip: "请选择压缩文件",
        Date: "请输入正确的日期",
        Password: "请输入6-20字母、数字、下划线的密码",
        Alphabet: "请输入字母",
        LetterNum: "请输入字母与数字",
        Tel: "请输入正确有电话或传真号码"
    }
}

var inputId = "", regType = regExp.Int;

function checkInput() {
    var val = document.getElementById(inputId).value; 
    if (!regType.test(val)) {
        alert(errorMsg());
        return false;
    }
    return true;
}

function errorMsg() {
    if (regType == regExp.Int) return error.Int;
    else if (regType == regExp.NonegativeInt) return error.NonegativeInt;
    else if (regType == regExp.NonInt) return error.NonInt;
    else if (regType == regExp.Num) return error.Num;
    else if (regType == regExp.NonegativeNum) return error.NonegativeNum;
    else if (regType == regExp.NonNum) return error.NonNum;
    else if (regType == regExp.Float) return error.Float;
    else if (regType == regExp.PositiveFloat) return error.PositiveFloat;
    else if (regType == regExp.NonFloat) return error.NonFloat;
    else if (regType == regExp.Email) return error.Email;
    else if (regType == regExp.HexColor) return error.HexColor;
    else if (regType == regExp.Chinese) return error.Chinese;
    else if (regType == regExp.Ascii) return error.Ascii;
    else if (regType == regExp.ZipCode) return error.ZipCode;
    else if (regType == regExp.Ip) return error.Ip;
    else if (regType == regExp.NotEmpty) return error.NotEmpty;
    else if (regType == regExp.Picture) return error.Picture;
    else if (regType == regExp.RarZip) return error.RarZip;
    else if (regType == regExp.Date) return error.Date;
    else if (regType == regExp.Password) return error.Password;
    else if (regType == regExp.Alphabet) return error.Alphabet;
    else if (regType == regExp.LetterNum) return error.LetterNum;
    else if (regType == regExp.Tel) return error.Tel;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值