溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JS正則表達(dá)式整合

發(fā)布時(shí)間:2021-08-30 22:44:50 來(lái)源:億速云 閱讀:105 作者:chen 欄目:互聯(lián)網(wǎng)科技

本篇內(nèi)容主要講解“JS正則表達(dá)式整合”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“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"));

日期正則

//日期正則,簡(jiǎn)單判定,未做月份及日期的判定
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"*$。
只能輸入長(zhǎng)度為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}$"正確格式為:以字母開頭,長(zhǎng)度在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"*$。
只能輸入長(zhǎng)度為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}$"正確格式為:以字母開頭,長(zhǎng)度在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"。

到此,相信大家對(duì)“JS正則表達(dá)式整合”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

js
AI