正则表达式文件

var regexEnum = 
{
    intege:"^-?[1-9]\d*$",                    //整数
    intege1:"^[1-9]\d*$",                    //正整数
    intege2:"^-[1-9]\d*$",                    //负整数
    num:"^([+-]?)\d*\.?\d+$",            //数字
    num1:"^[1-9]\d*|0$",                    //正数(正整数 + 0)
    num2:"^-[1-9]\d*|0$",                    //负数(负整数 + 0)
    decmal:"^([+-]?)\d*\.\d+$",            //浮点数
    decmal1:"^[1-9]\d*.\d*|0.\d*[1-9]\d*$",      //正浮点数
    decmal2:"^-([1-9]\d*.\d*|0.\d*[1-9]\d*)$",  //负浮点数
    decmal3:"^-?([1-9]\d*.\d*|0.\d*[1-9]\d*|0?.0+|0)$",  //浮点数
    decmal4:"^[1-9]\d*.\d*|0.\d*[1-9]\d*|0?.0+|0$",   //非负浮点数(正浮点数 + 0)
    decmal5:"^(-([1-9]\d*.\d*|0.\d*[1-9]\d*))|0?.0+|0$",  //非正浮点数(负浮点数 + 0)
    email: "^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$", //邮件
    emailOrEmpty: "^((\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+)|\\s*)$", //邮件
    color:"^[a-fA-F0-9]{6}$",                //颜色
    url: "^http[s]?:\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-./?%&=]*)?$", //url
    urlOrEmpty: "^(http[s]?:\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-./?%&=]*)?|\\s*)$", //url
    chinese:"^[\u4E00-\u9FA5\uF900-\uFA2D]+$",                    //仅中文
    ascii:"^[\x00-\xFF]+$",                //仅ACSII字符
    zipcode:"^\\d{6}$",                        //邮编
    mobile: "^1[0-9]{10}$",             //手机
    mobileOrEmpty: "^(13[0-9]{9}|15[012356789][0-9]{8}|18[02356789][0-9]{8}|147[0-9]{8}|17[0-9]{9}|\\s*)$",             //手机
    ip4:"^(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)$",    //ip地址
    notempty:"^\S+$",                        //非空
    picture:"(.*)\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga)$",    //图片
    rar:"(.*)\.(rar|zip|7zip|tgz)$",                                //压缩文件
    date:"^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$",                    //日期
    qq:"^[0-9]{4,11}$",                //QQ号码
    tel: "^(([0\+]\\d{2,3})?(0\\d{2,3})-)?(\\d{7,8})(-(\\d{3,}))?$", //电话号码的函数(包括验证国内区号,国际区号,分机号)
    telOrEmpty: "^((([0\\+]\\d{2,3})?(0\\d{2,3})-)?(\\d{7,8})(-(\\d{3,}))?|\\s*)$", //电话号码的函数(包括验证国内区号,国际区号,分机号)
    username:"^\w+$",                        //用来用户注册。匹配由数字、26个英文字母或者下划线组成的字符串
    letter:"^[A-Za-z]+$",                    //字母
    letter_u:"^[A-Z]+$",                    //大写字母
    letter_l:"^[a-z]+$",                    //小写字母
    idcard:"^[1-9]([0-9]{14}|[0-9]{17})$",    //身份证
    web: "^(http(s)?:\\/\\/)?([\\w-]+\\.)+[\\w-]+([\\w-\\.\\/\\?%&=]*)?$",//网址
    realname:"^[a-zA-Z\u4e00-\u9fa5]+$",//真实姓名,匹配汉字和字母
    alltel:"^(13|15|18)+[0-9]{9}$",
    webname: "^[\u4E00-\u9FA5\uF900-\uFA2D,\\w\\d]{1,50}$" //网站名称
    , webdemo: "^[\\s\\S]{1,500}$" //网站备注 500个字以内
    , domain: "^(.{0}|([\\w\\d]+\\.){1,5}[\\w\\d]+)$" //域名站名称  字线、数字、点号(.) 总数100以内
    , product: "^.{0,100}$" //产品(公司地址、地图标注信息)名称  字线、数字、点号(.) 总数100以内      修改为任意内容
    , productOrEmpty: "^.{0,100}$" //产品(公司地址、地图标注信息)名称  字线、数字、点号(.) 总数100以内    修改为任意内容    
    , money: "^(([1-9]{1}\\d*)|([0]{1}))(\\.(\\\d){1,2})?$" //金额
    , money2: "^(([1-9]{1}\\d?)|([0]{1}))(\\.(\\d){1,6})?$" //金额(六位小数)
    , dateFormat: "^\\d{4}\\-\\d{2}\\-\\d{2}$" //日期格式 2015-09-06
    , phoneOrTel: "^(1\\d{10}|\\d{3,4}-\\d{3,10}(-\\d{1,5})?)$" //联系方式 手机或固话(0317-66666666-1234)
    , invoiceHead: "^(\\s*[^\\s]+\\s*)$"//发票抬头 
    , name: "^[\\u4E00-\\u9FA5\\uF900-\\uFA2D\\w]+$"//姓名
}

var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"} 

function isCardID(sId){ 
    var iSum=0 ;
    var info="" ;
    if(!/^\d{17}(\d|x)$/i.test(sId)) return "你输入的身份证长度或格式错误"; 
    sId=sId.replace(/x$/i,"a"); 
    if(aCity[parseInt(sId.substr(0,2))]==null) return "你的身份证地区非法"; 
    sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2)); 
    var d=new Date(sBirthday.replace(/-/g,"/")) ;
    if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return "身份证上的出生日期非法"; 
    for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11) ;
    if(iSum%11!=1) return "你输入的身份证号非法"; 
    return true;//aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女") 
} 

//短时间,形如 (13:04:06)
function isTime(str)
{
    var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
    if (a == null) {return false}
    if (a[1]>24 || a[3]>60 || a[4]>60)
    {
        return false;
    }
    return true;
}

//短日期,形如 (2003-12-05)
function isDate(str)
{
    var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); 
    if(r==null)return false; 
    var d= new Date(r[1], r[3]-1, r[4]); 
    return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}

//长时间,形如 (2003-12-05 13:04:06)
function isDateTime(str)
{
    var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; 
    var r = str.match(reg); 
    if(r==null) return false; 
    var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); 
    return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}

 

posted @ 2017-05-02 23:07  mopheify  阅读(413)  评论(0编辑  收藏  举报