JavaScript常用正則表達式

/**

 *校驗模塊,提供常用的檢驗方法

 *該模塊不依賴其它環境

 */

HUI.define("com.validation", function(requires, validation) {

//郵箱正則

var REG_EMAIL=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;

//驗證郵箱地址

validation.checkEmail=function(str){

return REG_EMAIL.exec(str);

}

//驗證國內電話(支持分機號)

var REG_TEL=/^(0[0-9]{2,3}\-)?([1-9][0-9]{4,7})+(\-[0-9]{1,4})?$/;

validation.checkTel=function(str){

return REG_TEL.exec(str);

}

//驗證國內手機號

var REG_PHONE=/^(0|86|17951)?(13[0-9]|15[012356789]|18[0236789]|14[57])[0-9]{8}$/;

validation.checkPhone=function(str){

return REG_PHONE.exec(str);

}

//驗證整數

var REG_INTEGER=/^-?(([1-9]\d*)|0)$/;

validation.checkInteger=function(str){

return REG_INTEGER.exec(str);

}

//驗證非負數(浮點數默認精確到4位)

validation.checkNonnegative=function(str,decimal){

if(!decimal){

decimal=4;

}

var REG_NONNEGATIVE =new RegExp("^(([1-9][0-9]*)|0)(.[0-9]{1,"+decimal+"})?$");

return REG_NONNEGATIVE.exec(str);

}

//驗證常用用戶名(以字母開頭,允許5-16字節,允許字母數字下劃線)

var REG_USERNAME=/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/;

validation.checkUserName=function(str){

return REG_USERNAME.exec(str);

}

//驗證常用密碼(允許6-18字節,允許字母數字下劃線及特殊字符.@!$%*#)

var REG_PWD=/^([a-zA-Z0-9]|\.|@|\!|\$|%|\*|#){5,17}$/;

validation.checkPwd=function(str){

return REG_PWD.exec(str);

}

//驗證身份證

var REG_IDCARD=/^\d{18}$|^\d{17,18}[a-zA-Z]{1}$|^\d{15}$/;

validation.checkIDCard=function(str){

return REG_IDCARD.exec(str);

}

//驗證QQ號碼

var REG_QQ=/^[1-9][0-9]{4,}$/;

validation.checkQQ=function(str){

return REG_QQ.exec(str);

}

//驗證郵政編碼

var REG_ZIPCODE=/^[1-9]\d{5}(?!\d)$/;

validation.checkZipCode=function(str){

return REG_ZIPCODE.exec(str);

}

//驗證是否包含HTML標記

var REG_HTML=/<(\S*?)[^>]*>.*?<\/\1>|<.*? \/>/;

validation.checkHTML=function(str){

return REG_HTML.exec(str);

}

//驗證網址URL

var REG_URL=/^[a-zA-z]+:\/\/[^\s]*$/;

validation.checkURL=function(str){

return REG_URL.exec(str);

}

//驗證IP

var REG_IP=/^\d+\.\d+\.\d+\.\d+$/;

validation.checkIP=function(str){

return REG_IP.exec(str);

}

//驗證是否包含中文或中文字符

var REG_CHCHAR=/[^\x00-\xff]/;

validation.checkCHChar=function(str){

return REG_CHCHAR.exec(str);

}

//驗證VISA卡號

var REG_VISA=/^(4\d{12}(?:\d{3})?)$/;

validation.checkVISA=function(str){

return REG_VISA.exec(str);

}

//驗證是否有效日期格式,如2000(./- 年)1(01)(./- 月)1(01)(日)

var REG_DATE=/^(\d{4})(\.|\/|\-|\s|\u5E74)?(\d{1,2})(\.|\/|\-|\s|\u6708)?(\d{1,2})(\s|\u65E5)?$/;

validation.checkDate=function(str){

str=str.replace(REG_DATE,function(){

return RegExp.$1+"-"+(RegExp.$3.length==1?"0"+RegExp.$3:RegExp.$3)+"-"+(RegExp.$5.length==1?"0"+RegExp.$5:RegExp.$5);

});

return String(new Date(str)).toLowerCase()=="invalid date"?false:true;

}

//驗證是否有效時間格式,如23:59:59

var REG_TIME=/^(([0-1][0-9])|(2[0-3]))(:|:|\s)([0-5][0-9])(:|:|\s)([0-5][0-9])$/;

validation.checkTime=function(str){

str=str.replace(/^(\d+).*?(\d+).*?(\d+)$/,function(){

return (RegExp.$1.length==1?"0"+RegExp.$1:RegExp.$1)+":"+(RegExp.$2.length==1?"0"+RegExp.$2:RegExp.$2)+":"+(RegExp.$3.length==1?"0"+RegExp.$3:RegExp.$3);

});

return REG_TIME.test(str);

}

});


發佈了26 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章