正規表示式

2021-08-17 23:39:48 字數 2991 閱讀 7957

​ 正規表示式: 正規表示式是對字串操作的一種邏輯公式, 就是用事先定義好的一些特定字元、及這 些特定字元的組合, 組成乙個'規則字串',這個'規則字串'用來表達對字串的一種過濾邏輯.

給定的字串是否符合正規表示式的過濾邏輯(匹配)

可以通過正規表示式,從字串中獲取我們想要的部分(提取)

強大的字串替換能力(替換)

靈活性、邏輯性和功能性非常強

可以迅速地用極簡單的方式達到字串的複雜控制

元字元說明

\d匹配數字

\d匹配任意非數字的字元

\w匹配字母或數字或下劃線

\w匹配任意不是字母,數字,下劃線

\s匹配任意的空白符

\s匹配任意不是空白符的字元

.匹配除換行符以外的任意單個字元

^表示匹配行首的文字(以誰開始)

$表示匹配行尾的文字(以誰結束)

限定符說明

*重複零次或多次

+重複一次或多次

?重複零次或一次

重複n次

重複n次或多次至少n次

重複n到m次

字串用中括號 括起來, 表示匹配其中的任一字元, 相當於或的意思

[^] 匹配除中括號以內的內容

\   轉義符

|   或者,選擇兩者中的乙個

()   從兩個直接量中選擇乙個分組

[\u4e00-\u9fa5] 匹配漢字

驗證手機號:

^\d$
驗證郵編:

^\d$
驗證日期 2015-5-01

^\d-\d-\d$
驗證郵箱 ***@itcast.cn

^\w+@\w+\.\w+$
驗證ip位址 192.168.1.10

^\d\(\.\d)$
方式1: 建構函式

var regularexpression = new regexp('\\d', 'i');

var regularexpression = new regexp('\\d', 'gi');

方式2: 字面量

var regularexpression = /\d/i;

var regularexpression = /\d/gi;

引數:

標誌說明

i忽略大小寫

g全域性匹配

gi全域性匹配+ 忽略大小寫

// test方法  匹配日期 

var datestr = '2015-10-10';

var reg = /^\d-\d-\d$/;

console.log(reg.test(datestr));

// 匹配成功返回 true

// match  

// 1.提取工資

var str = '張三: 1000, 李四:5000, 王五: 8000';

var reg = /\d+/g;

console.log(reg.exec(str)); // [1000]

console.log(str.match(/\d+/g)); // [1000][5000][8000]

​// 2. 提取郵箱位址

var str = '[email protected],[email protected],[email protected],[email protected]....';

console.log(str.match(/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/g));

​// 3. 提取年份中的一部分

// 正規表示式中的()作為分組來使用獲取分組匹配到的結果用 regexp.$1 $2

var datestr = '2018-03-31';      

var reg = /(\d)-\d-\d/;

if (reg.test(datestr))

// 1. 替換所有空白

var str = "   123ad asadf   asadfasf adf ";

str = str.replace(/\s/g,"xx");console.log(str);

​// 2. 替換所有,|,

var str = "abc,efg,123,abc,123,a";

str = str.replace(/,|,/g, ".");

console.log(str);

qq號:

手機:生日:

姓名:

//獲取文字框

var txtqq = document.getelementbyid("txtqq");

var txtemail = document.getelementbyid("txtemail");

var txtphone = document.getelementbyid("txtphone");

var txtbirthday = document.getelementbyid("txtbirthday");

var txtname = document.getelementbyid("txtname");​//

txtqq.onblur = function () $/;

//判斷驗證是否成功

if(!reg.test(this.value) )else};​

//txtemail

txtemail.onblur = function () else

};

regexp 物件

​ test() 匹配

​ exec() 提取 只能提取匹配到的第一項

string 物件

​ match() 提取 如果想把匹配到的所有項都提取 正規表示式要加上 g

​ replace() 替換

​ search() 查詢

​ split() 切割字串

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...