js正則函式

2021-06-05 14:33:47 字數 2247 閱讀 2436

1.)string方法

a.)string.search()

引數:可以是正規表示式也可以是普通的字串。

返回值:如果找到匹配則返回首字元的索引位置,找不到則返回-1

var s = "hello world.";

reg = /world/i;            // i表示不區分大小寫

alert(s.search(reg));

b.)string.replace()

引數:1.正規表示式 2.用於替換的字串

返回替換後的字串

var s = "hello world.world!";

reg = /world/gi;            // g為全域性模式,會替換所有匹配

alert(s.replace(reg,'a'));

子表示式(可以通過$n訪問括號裡匹配的子表示式):

var s = "11 22 33 44 55 66 77!";

reg = /(\s+)(\s+)(\s+)/g;            // i表示不區分大小寫

alert(s.replace(reg,'$3$2$1')); //22 11 44 33 66 44 77!

c.)string.match()

把匹配的字串放到陣列裡面返回。沒有匹配則返回null

//全域性模式下,每個匹配放到返回陣列裡

var s = "我的**號碼0631-1234567 你的是021-87654321,我們常聯絡啊!";

reg = /(0\d\d-\d|0\d\d\d-\d)/g;   // 注意這個正則可能不完整還可能有更簡單的寫法

alert(s.match(reg)); //0631-1234567,021-87654321

//沒有設定g標記時,返回的陣列[0]是整體匹配,1-n表示子匹配

var s = "我的工資是$800,她的工資是$400!";

reg = /(\$)(\d+)/;   // $需要\轉義

alert(s.match(reg)); //$800,$,800

d.)string.split([分隔符[,返回元素個數限制])

//普通的分割

var s = "我的工資是$800,她的工資是$400!";

alert(s.split(',')[0]); //我的工資是$800

//使用正則

var s = "中國人口達到14億,人均收入卻不到3000美元,所以中國還處於發展中國家!";

alert(s.split(/\d/)); //中國人口達到,億,人均收入卻不到,美元,所以中國還處於發展中國家!

2.)regexp物件

a.)regexp.test(str)

綣鸏tr匹配此正則物件則返回true.

var s = "這句話包含數字123用於測試!";

var re=/\d+/;

if(re.test(s))

alert("包含數字");

b.)regexp.exec()比string.match()更強大

//非全域性呼叫exec,[0]返回匹配,1-n返回子匹配

var s = "數字123,字母abc,下劃線_!";

var re=/(\w)\w*/;

alert(re.exec(s));//123,1

alert(re.exec(s).input);//數字123,字母abc,下劃線_!

alert(re.exec(s).index);//2

//帶全域性標記

var s = "數字123,字母abc,下劃線_!";

var re=/(\w)\w*/g;

alert(re.lastindex);//0

alert(re.exec(s));//123,1

alert(re.lastindex);//5

alert(re.exec(s));//abc,a

alert(re.lastindex);//11

alert(re.exec(s));//_,_

alert(re.lastindex);//16

c.)正規表示式建構函式

re = new regexp("pattern",["flags"])

var s = "數字123,字母abc,下劃線_!";

var re=new regexp("(

\\w)\\w*","g");//由於\在引號內也是轉義符,所以需要多加乙個\

alert(re.exec(s));//123,1

js正則驗證函式

利用正規表示式判斷是否是0 9的阿拉伯數字 function regisdigit fdata 利用這則表示式獲取字串的長度 function regdatalength fdata else return result 應用擴充套件判斷是否是數值 function regisnumber fdat...

js 正則常用函式

正規表示式中,需要轉義的字元 let reg d g let str ad 23 dfww 454 6 1.reg.test str true 如果字串中存在正規表示式的匹配結果則返回true否則返回false 2.str.match reg 23 454 6 將符合正則匹配的所有結果,以陣列的形式...

js正則及常用方法函式總結

正規表示式作為一種匹配處理字串的利器在很多語言中都得到了廣泛實現和應用,web開發本質上是處理字串 服務端接受請求處理後拼接字串作為響應,這在早期的cgi程式設計中最明顯,然後客戶端解析字串進行渲染和執行 所以說,js作為一門常用於web開發的語言,必然要具備正則這種強大的特性,本文將對js中的正則...