麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > regex > 正文

正則表達式使用示例詳解

2020-01-20 21:58:41
字體:
來源:轉載
供稿:網友

正則表達式(Regular Expression)是一種文本模式,包括普通字符(例如,a 到 z 之間的字母)和特殊字符(稱為"元字符")。

正則表達式使用單個字符串來描述、匹配一系列匹配某個句法規則的字符串。

下面通過實例代碼介紹下正則表達式使用

//一個數據類型,記錄文本規則,一些事先定義好的一些特殊字符,對字符串的過濾邏輯

//表單驗證賬號長度,字母或數字組合,高級搜索

//特點,不僅js有;極簡的方式操作字符串;靈活,功能強大

// 正則表達式大全

var patt1=new RegExp("e");document.write(patt1.test("The best things in life are free"));

/*是否帶有小數*/

function isDecimal(strValue ) {var objRegExp= /^/d+/./d+$/;return objRegExp.test(strValue);}

/*校驗是否中文名稱組成 */

function ischina(str) {var reg=/^[/u4E00-/u9FA5]{2,4}$/; /*定義驗證表達式*/return reg.test(str); /*進行驗證*/}

/*校驗是否全由8位數字組成 */

function isStudentNo(str) {var reg=/^[0-9]{8}$/; /*定義驗證表達式*/return reg.test(str); /*進行驗證*/}var arr = new Array();var reg = new RegExp(//d/);

//表示匹配數字

reg = reg.test("jndwjdw");console.log(reg);

//正則對象。test(需要驗證的字符串)

//字面量聲明

var reg2 = /男|女/;

//有沒有其中一個

var reg = reg2.test("呦呦喲偶女");console.log(reg);console.log(/男|女/.test("哈迪哈迪哈女"));

//語法

//.test();正則表達式檢測某段字符串

//預定義類

console.log(/./.test("/r")); //除了回車和換行外的任意字符 console.log(//d/.test("123")); //檢測是不是數字 console.log(//D/.test("sh")); //非數字字符,只要不是數字就true,只要有一個就是true console.log(//s/.test("/r")); //只要有不可見就true/r/n/f/h/兩個空字符串拼接是false console.log(//S/.test("ah7")); //只要有可見字符就對 console.log(//w/.test("b-8")); //所有字母數字和下短線_,只要有就是對短線 console.log(//W/.test(("bg8-@"))); //true//只要有非單詞字符就是對 

//自定義類,沒有/

console.log(/d/.test("123")); //檢測這段里面有不有d這個字 // console.log(/yskma/.test("yskmama")); //true//檢測這段字符串包不包含yskma,不能斷開不能中間穿插別的 console.log(/yskmama/.test("ysk")); //false //或和優先級 console.log(/ysk|mama/.test("ysk")); //true console.log(/ys(k|m)a/.test("ysk")); //false//檢測這段字符串中有不有yska或者ysma console.log(/ys(k|m)a/.test("yskma")); //false//檢測這段字符串中有不有yska或者ysma 

//簡單類[]代表一個字符

console.log(/[abc]/.test("gbhigf")); //true//只要出現abc中 的任意一個就是對 console.log(/y[abc]z/.test("yaz")); //true//包含yz,并選一個a console.log(/y[abc]z/.test("yabcz")); //false//abc只能要一個 

//負向類[^ ]取反

console.log(/[^abc]/.test("a")); //false//除了括號外的內容才是對,有就是錯,不能有括號內的 console.log(/[^abc]/.test("af")); //true//除了括號外的內容才是對,有就是錯,不能有括號內的 

//范圍類

console.log(/[0-9]/.test("b8jg")); //true

//組合類,組合起來就是組合類,自定義類

//^邊界,以。。開頭

//$以。。結尾

//^bc$嚴格匹配

//.回車和換行以外的

console.log(/^6a/.test("6akjjkak")); //true console.log(/^6.a/.test("6akjjkak")); //false console.log(/[.]{8}/.test("6akjjkak")); //false,當前"."就是代表字符串".",此處沒有8個".",所以false;console.log(/ac$/.test("6akjjkakac")); //true//ac結尾 console.log(/^6a$/.test("6a")); //true console.log(/^/d$/.test("9")); //true//只能出現一次 console.log(/^abc/d$/.test("abc7")); //true//只能出現一次 

//量詞:?0||1次;+前面的>=1次;*>=0次

console.log(/^colo*r$/.test("color")); //true console.log(/^colo+r$/.test("color")); //true console.log(/^colo?r$/.test("color")); //true console.log(/^colo?r$/.test("colr")); //true console.log(/^colo?r$/.test("coloor")); //false console.log(/^colo*r$/.test("colooooooor")); //true 

//量詞,{}前面出現的:。。{n}n次;{n,}>=n;{n,m}...>=n..<=m

//*{0,}..?{0,1}....+{1,}

//括號總結{}次數;[]一個;()一組,分組

//轉Unicode:escape("你好")-----Ununicod("u%hkkblpp%^Vhk")

//所有漢字在一到與之間

console.log(/[/u4e00-/u9fa5]/.test("哈"));console.log(/[/u4e00-/u9fa5]{3}/.test("哈你好"));

//字符串替換

var str = "abcde";console.log(str.replace("a", "b")); //bbcdeconsole.log(str.replace(/a/g, "b")); //bbcde

//換成句號

var str = "a,b,c,d,e";var str2 = str.replace(/,/g, "."); //g是替換全部 console.log(str2);

//修改成績

var str = "a,b,c,70,90";var str2 = str.replace(//d{1,}/g, "100"); //g是替換全部 console.log(str2); //吧,.都改成。 var str = "a,b,c,70,90.";var str2 = str.replace(/[ , , .]/g, "。"); //g是替換全部 console.log(str2);var stra = " abc "function MyTirm(stra) {var str3 = stra.replace(/^/s+|/s+$/g, ""); //去掉前后空格空格換成空字符串 return str3;}var str2 = MyTirm(stra);console.log("==" + str2 + "==");

//想要的字符提取出來,提取郵箱 //來不及寫

//math,提取符合要求的元素

//分組提取,提取郵箱的每一個部分

RegExp.$1, RegExp.$2, RegExp.$3

//檢索字符indexof();lastindexof();返回下標

var str = "張三:1000,李四:5000,王五:8000。";var arr = str.match(//d+/g);console.log(arr); //math返回數組,提取元素

//exec只取一個,math可以取全部的

//正則對象:test,exec........字符串:math,spilt,search,

//用某個字符分隔字符串

var str = "[email protected],[email protected] [email protected] 2、[email protected] [email protected]...";var arr = str.match(//w+@/w+(/./w+)+/g);console.log(arr);

//6 分組提取

//提取email中的每一部分 var str = "[email protected]";var reg = /(/w+)@(/w+)/.(/w+)(/./w+)?/;var array = str.match(reg); //獲取分組的數據 ()是分組 console.log(RegExp.$1); //123123 console.log(RegExp.$2); //xx console.log(RegExp.$3); //com //分組練習 var str = "5=a, 6=b, 7=c";str = str.replace(/(/d)=(/w)/g, "$2====$1"); //吧567分3組,吧abc分3組,2組在前面,1組在后面 console.log(str);

//i 忽略大小寫

//g 全局匹配

//控制字符串相關方法

//1、正則對象的 test exec

//2、字符串的 replace search match split

//用法:

console.log(//d/.test("123"));console.log(/[/u4e00-/u9fa5]{3}/.test("哈你好"));//除了.test和search方法能直接執行,math,replace,split,exec都需要數組接收返回值var str = "abc100,ccc200,ddd300";var arr = //d+/.exec(str);console.log(arr + "這兒"); //100//只能匹配一項,可以用在分組匹配var arr = str.match(//d+/g);console.log(arr);var str = "abc100ccc200ddd300";var arr = str.split(//d+/);console.log(arr);var str = "哈哈哈哈,100分"; //檢索里面數字出現的下標 console.log(str.search(//d+/));var str = "abcdebfg";var strNew = str.replace("b", "d");console.log(strNew);console.log(str);var v = 2new RegExp("^//d+" + v + "$").test(12) //true

總結

以上所述是小編給大家介紹的正則表達式使用示例詳解,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产亚洲自拍一区 | 久久亚洲视频网 | 久章草在线视频 | 国产美女爽到喷白浆的 | 亚洲欧美一区二区三区在线观看 | 91久久久久久 | 国产精品久久久久久久久久 | 日韩午夜一区二区三区 | 国产免费www | 蜜桃网在线观看 | 成人午夜亚洲 | 国产91丝袜在线播放0 | 亚洲成在人 | 国产午夜亚洲精品午夜鲁丝片 | 久久免费视频在线 | 日韩视频一区在线 | 在线播放视频一区二区 | 黄www片| 中文字幕1区2区 | 欧美国产一区二区三区 | 娇妻被各种姿势c到高潮小说 | 成人在线视频免费观看 | 亚洲一区成人在线 | 日朝毛片 | 成年免费网站 | 狠狠操夜夜爱 | 中文字幕www | 越南一级黄色片 | 欧美性猛交一区二区三区精品 | 欧美激情在线播放 | 成人不卡在线观看 | 97zyz成人免费视频 | 日韩欧美电影一区二区三区 | 精品91av| 羞羞视频一区二区 | 国产流白浆高潮在线观看 | 国产成人精品一区二区视频免费 | 欧美性受xxxx白人性爽 | 日韩电影一区二区三区 | 欧洲狠狠鲁 | 日本中文视频 |