javaScript 中常用的正则表达式
varregexEnum={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]+$",//邮件color:"^[a-fA-F0-9]{6}$",//颜色url:"^http[s]?:\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-./?%&=]*)?$",//urlchinese:"^[\\u4E00-\\u9FA5\\uF900-\\uFA2D]+$",//仅中文ascii:"^[\\x00-\\xFF]+$",//仅ACSII字符zipcode:"^\\d{6}$",//邮编mobile:"^(13|15|18)[0-9]{9}$",//手机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:"^[1-9]*[1-9][0-9]*$",//QQ号码tel:"^(([0\\+]\\d{2,3}-)?(0\\d{2,3})-)?(\\d{7,8})(-(\\d{3,}))?$",//电话号码的函数(包括验证国内区号,国际区号,分机号)username:"^\\w+$",//用来用户注册。匹配由数字、26个英文字母或者下划线组成的字符串letter:"^[A-Za-z]+$",//字母letter_u:"^[A-Z]+$",//大写字母letter_l:"^[a-z]+$",//小写字母idcard:"^[1-9]([0-9]{14}|[0-9]{17})$"//身份证
}
varaCity={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:"国外"}
functionisCardID(sId){
variSum=0;varinfo="";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));vard=newDate(sBirthday.replace(/-/g,"/"));if(sBirthday!=(d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate()))return"身份证上的出生日期非法";for(vari=17;i>=0;i--)iSum+=(Math.pow(2,i)%11)*parseInt(sId.charAt(17-i),11);if(iSum%11!=1)return"你输入的身份证号非法";returntrue;//aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女")
}
//短时间,形如(13:04:06)
functionisTime(str)
{
vara=str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);if(a==null){returnfalse}if(a[1]>24||a[3]>60||a[4]>60){returnfalse;}returntrue;
}
//短日期,形如(2003-12-05)
functionisDate(str)
{
varr=str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);if(r==null)returnfalse;vard=newDate(r[1],r[3]-1,r[4]);return(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);}//长时间,形如(2003-12-0513:04:06)
functionisDateTime(str)
{
varreg=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})(\d{1,2}):(\d{1,2}):(\d{1,2})$/;varr=str.match(reg);if(r==null)returnfalse;vard=newDate(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]);
}
String.prototype.isMobile=function(){
return(/^(?:13\d|15\d|18\d)-?\d{5}(\d{3}|\*{3})/.test(this.Trim()));
}
functionchkForm(telmob)
{
if(telmob.isMobile()||telmob.isTel()||telmob.isTelNoZone()){telmob=telmob.Trim();returntrue;}else{returnfalse;}
}
使用方法:
//用户名验证示列
functionisNull2(){
varuserNameSpan=document.getElementById("userNameSpan");
varuserName=document.getElementById("userName").value;
if(userName==""){
userNameSpan.innerHTML="plaseenterin"
returnfalse;
}
plaseenternums";--%>
varrule=/^\\w+$/;///^[0-9]*[1-9][0-9]*$/;正则表达式在/与/之间
if(!rule.test(userName)){
userNameSpan.innerHTML="plaseenternumswords_$";
returnfalse;
}
if(userName.length>15||userName.lengthplaseenterlengthgt4andlt15";
returnfalse;
}
}functionisNull3(){userNameSpan.innerHTML="";}
用户名:
效果图: