url的正則表達(dá)式:包括IP,域名(domain),ftp,二級域名,域名中的文件,域名加上端口!用戶名等等信息
function IsURL(str_url) { var strRegex = "^((https|http|ftp|rtsp|mms)?://)" + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" + //ftp的user@ "(([0-9]{1,3}.){3}[0-9]{1,3}" + // IP形式的URL- 199.194.52.184 "|" + // 允許IP和DOMAIN(域名) "([0-9a-z_!~*'()-]+.)*" + // 域名- www. "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]." + // 二級域名 "[a-z]{2,6})" + // first level domain- .com or .museum "(:[0-9]{1,4})?" + // 端口- :80 "((/?)|" + // a slash isn't required if there is no file name "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$"; var re = new RegExp(strRegex); //re.test() if (re.test(str_url)) { return true; } else { return false; } }
匹配手機(jī)號
var myreg = /^(13[0-9]{1}|14[5|7|9]{1}|15[0-3|5-9]{1}|166|17[0-3|5-8]{1}|18[0-9]{1}|19[8-9]{1}){1}d{8}$/;
用戶名正則,4到16位(字母,數(shù)字,下劃線,減號)
var uPattern = /^[a-zA-Z0-9_-]{4,16}$/; //輸出 true console.log(uPattern.test("caibaojian")); 密碼強(qiáng)度正則 //密碼強(qiáng)度正則,最少6位,包括至少1個(gè)大寫字母,1個(gè)小寫字母,1個(gè)數(shù)字,1個(gè)特殊字符 var pPattern = /^.*(?=.{6,})(?=.*d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/; //輸出 true console.log("=="+pPattern.test("caibaojian#"));
整數(shù)正則
//正整數(shù)正則 var posPattern = /^d+$/; //負(fù)整數(shù)正則 var negPattern = /^-d+$/; //整數(shù)正則 var intPattern = /^-?d+$/; //輸出 true console.log(posPattern.test("42")); //輸出 true console.log(negPattern.test("-42")); //輸出 true console.log(intPattern.test("-42"));
數(shù)字正則
//可以是整數(shù)也可以是浮點(diǎn)數(shù) //正數(shù)正則 var posPattern = /^d*.?d+$/; //負(fù)數(shù)正則 var negPattern = /^-d*.?d+$/; //數(shù)字正則 var numPattern = /^-?d*.?d+$/; console.log(posPattern.test("42.2")); console.log(negPattern.test("-42.2")); console.log(numPattern.test("-42.2"));
Email正則
//Email正則 var ePattern = /^([A-Za-z0-9_-.])+@([A-Za-z0-9_-.])+.([A-Za-z]{2,4})$/; //輸出 true console.log(ePattern.test(99154507@qq.com));
身份證號正則
//身份證號(18位)正則 var cP = /^[1-9]d{5}(18|19|([23]d))d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)d{3}[0-9Xx]$/; //輸出 true console.log(cP.test("11010519880605371X"));
URL正則
//URL正則 var urlP= /^((https?|ftp|file)://)?([da-z.-]+).([a-z.]{2,6})([/w .-]*)*/?$/; //輸出 true console.log(urlP.test(http://caibaojian.com)); IPv4地址正則 //ipv4地址正則 var ipP = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/; //輸出 true console.log(ipP.test("115.28.47.26")); 十六進(jìn)制顏色正則 //RGB Hex顏色正則 var cPattern = /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/; //輸出 true console.log(cPattern.test("#b8b8b8"));
日期正則
//日期正則,簡單判定,未做月份及日期的判定 var dP1 = /^d{4}(-)d{1,2}1d{1,2}$/; //輸出 true console.log(dP1.test("2017-05-11")); //輸出 true console.log(dP1.test("2017-15-11")); //日期正則,復(fù)雜判定 var dP2 = /^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/; //輸出 true console.log(dP2.test("2017-02-11")); //輸出 false console.log(dP2.test("2017-15-11")); //輸出 false console.log(dP2.test("2017-02-29"));
QQ號碼正則
//QQ號正則,5至11位 var qqPattern = /^[1-9][0-9]{4,10}$/; //輸出 true console.log(qqPattern.test("65974040"));
微信號正則
//微信號正則,6至20位,以字母開頭,字母,數(shù)字,減號,下劃線 var wxPattern = /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/; //輸出 true console.log(wxPattern.test("caibaojian_com"));
車牌號正則
//車牌號正則 var cPattern = /^[京津滬渝冀豫云遼黑湘皖魯新蘇浙贛鄂桂甘晉蒙陜吉閩貴粵青藏川寧瓊使領(lǐng)A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9掛學(xué)警港澳]{1}$/; //輸出 true console.log(cPattern.test("粵B39006"));
包含中文正則
//包含中文正則 var cnPattern = /[u4E00-u9FA5]/; //輸出 true console.log(cnPattern.test("董董董")); 整數(shù)或者小數(shù):^[0-9]+.{0,1}[0-9]{0,2}$ 只能輸入數(shù)字:"^[0-9]*$"。 只能輸入n位的數(shù)字:"^d{n}$"。 只能輸入至少n位的數(shù)字:"^d{n,}$"。 只能輸入m~n位的數(shù)字:。"^d{m,n}$" 只能輸入零和非零開頭的數(shù)字:"^(0|[1-9][0-9]*)$"。 只能輸入有兩位小數(shù)的正實(shí)數(shù):"^[0-9]+(.[0-9]{2})?$"。 只能輸入有1~3位小數(shù)的正實(shí)數(shù):"^[0-9]+(.[0-9]{1,3})?$"。 只能輸入非零的正整數(shù):"^+?[1-9][0-9]*$"。 只能輸入非零的負(fù)整數(shù):"^-[1-9][]0-9"*$。 只能輸入長度為3的字符:"^.{3}$"。 只能輸入由26個(gè)英文字母組成的字符串:"^[A-Za-z]+$"。 只能輸入由26個(gè)大寫英文字母組成的字符串:"^[A-Z]+$"。 只能輸入由26個(gè)小寫英文字母組成的字符串:"^[a-z]+$"。 只能輸入由數(shù)字和26個(gè)英文字母組成的字符串:"^[A-Za-z0-9]+$"。 只能輸入由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串:"^w+$"。 驗(yàn)證用戶密碼:"^[a-zA-Z]w{5,17}$"正確格式為:以字母開頭,長度在6~18之間,只能包含字符、數(shù)字和下劃線。 驗(yàn)證是否含有^%&'',;=?$"等字符:"[^%&'',;=?$x22]+"。 只能輸入漢字:"^[u4e00-u9fa5]{0,}$" 驗(yàn)證Email地址:"^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$"。 驗(yàn)證InternetURL:"^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$"。 驗(yàn)證電話號碼:"^((d{3,4}-)|d{3.4}-)?d{7,8}$"正確格式為:"XXX-XXXXXXX"、"XXXX- XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。 驗(yàn)證身份證號(15位或18位數(shù)字):"^d{15}|d{18}$"。 驗(yàn)證一年的12個(gè)月:"^(0?[1-9]|1[0-2])$"正確格式為:"01"~"09"和"1"~"12"。 驗(yàn)證一個(gè)月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01"~"09"和"1"~"31"。整數(shù)或者小數(shù):^[0-9]+.{0,1}[0-9]{0,2}$ 只能輸入數(shù)字:"^[0-9]*$"。 只能輸入n位的數(shù)字:"^d{n}$"。 只能輸入至少n位的數(shù)字:"^d{n,}$"。 只能輸入m~n位的數(shù)字:。"^d{m,n}$" 只能輸入零和非零開頭的數(shù)字:"^(0|[1-9][0-9]*)$"。 只能輸入有兩位小數(shù)的正實(shí)數(shù):"^[0-9]+(.[0-9]{2})?$"。 只能輸入有1~3位小數(shù)的正實(shí)數(shù):"^[0-9]+(.[0-9]{1,3})?$"。 只能輸入非零的正整數(shù):"^+?[1-9][0-9]*$"。 只能輸入非零的負(fù)整數(shù):"^-[1-9][]0-9"*$。 只能輸入長度為3的字符:"^.{3}$"。 只能輸入由26個(gè)英文字母組成的字符串:"^[A-Za-z]+$"。 只能輸入由26個(gè)大寫英文字母組成的字符串:"^[A-Z]+$"。 只能輸入由26個(gè)小寫英文字母組成的字符串:"^[a-z]+$"。 只能輸入由數(shù)字和26個(gè)英文字母組成的字符串:"^[A-Za-z0-9]+$"。 只能輸入由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串:"^w+$"。 驗(yàn)證用戶密碼:"^[a-zA-Z]w{5,17}$"正確格式為:以字母開頭,長度在6~18之間,只能包含字符、數(shù)字和下劃線。 驗(yàn)證是否含有^%&'',;=?$"等字符:"[^%&'',;=?$x22]+"。 只能輸入漢字:"^[u4e00-u9fa5]{0,}$" 驗(yàn)證Email地址:"^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$"。 驗(yàn)證InternetURL:"^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$"。 驗(yàn)證電話號碼:"^((d{3,4}-)|d{3.4}-)?d{7,8}$"正確格式為:"XXX-XXXXXXX"、"XXXX- XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。 驗(yàn)證身份證號(15位或18位數(shù)字):"^d{15}|d{18}$"。 驗(yàn)證一年的12個(gè)月:"^(0?[1-9]|1[0-2])$"正確格式為:"01"~"09"和"1"~"12"。 驗(yàn)證一個(gè)月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01"~"09"和"1"~"31"。
總結(jié)
以上所述是小編給大家介紹的JS正則表達(dá)式 整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對網(wǎng)站的支持!