JS正則表達(dá)式 整合 (值得收藏)
url的正則表達(dá)式:包括IP,域名(domain),ftp,二級(jí)域名,域名中的文件,域名加上端口!用戶名等等信息
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]." + // 二級(jí)域名 "[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ī)號(hào)
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ù)字,下劃線,減號(hào))
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));
身份證號(hào)正則
//身份證號(hào)(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}\1\d{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號(hào)碼正則
//QQ號(hào)正則,5至11位 var qqPattern = /^[1-9][0-9]{4,10}$/; //輸出 true console.log(qqPattern.test("65974040"));
微信號(hào)正則
//微信號(hào)正則,6至20位,以字母開頭,字母,數(shù)字,減號(hào),下劃線 var wxPattern = /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/; //輸出 true console.log(wxPattern.test("caibaojian_com"));
車牌號(hào)正則
//車牌號(hào)正則 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)證電話號(hào)碼:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正確格式為:"XXX-XXXXXXX"、"XXXX- XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。 驗(yàn)證身份證號(hào)(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)證電話號(hào)碼:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正確格式為:"XXX-XXXXXXX"、"XXXX- XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。 驗(yàn)證身份證號(hào)(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á)式 整合,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)我們網(wǎng)站的支持!
欄 目:正則表達(dá)式
下一篇:Python 正則表達(dá)式匹配字符串中的http鏈接方法
本文標(biāo)題:JS正則表達(dá)式 整合 (值得收藏)
本文地址:http://mengdiqiu.com.cn/a1/zhengzebiaodashi/11195.html
您可能感興趣的文章
- 01-11正則表達(dá)式實(shí)現(xiàn)添加、刪除、替換三種功能
- 01-11python 用正則表達(dá)式篩選文本信息的實(shí)例
- 01-11正則表達(dá)式之匹配數(shù)字范圍
- 01-11python爬蟲正則表達(dá)式之處理換行符
- 01-11正則表達(dá)式匹配路由的實(shí)現(xiàn)代碼
- 01-11正則表達(dá)式截取身份證號(hào)碼加密的方法
- 01-11js正則表達(dá)式 匹配兩個(gè)特定字符間的內(nèi)容示例
- 01-11MySQL使用正則表達(dá)式進(jìn)行查詢操作經(jīng)典實(shí)例總結(jié)
- 01-11python正則表達(dá)式之對(duì)號(hào)入座篇
- 01-11詳解正則表達(dá)式實(shí)現(xiàn)二代身份證號(hào)碼驗(yàn)證


閱讀排行
本欄相關(guān)
- 01-11正則表達(dá)式實(shí)現(xiàn)添加、刪除、替換三
- 01-11正則表達(dá)式之匹配數(shù)字范圍
- 01-11python 用正則表達(dá)式篩選文本信息的實(shí)
- 01-11正則表達(dá)式匹配路由的實(shí)現(xiàn)代碼
- 01-11python爬蟲正則表達(dá)式之處理換行符
- 01-11js正則表達(dá)式 匹配兩個(gè)特定字符間的
- 01-11正則表達(dá)式截取身份證號(hào)碼加密的方
- 01-11python正則表達(dá)式之對(duì)號(hào)入座篇
- 01-11MySQL使用正則表達(dá)式進(jìn)行查詢操作經(jīng)典
- 01-11詳解正則表達(dá)式實(shí)現(xiàn)二代身份證號(hào)碼
隨機(jī)閱讀
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-10delphi制作wav文件的方法
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 04-02jquery與jsp,用jquery
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-10C#中split用法實(shí)例總結(jié)