正規表示式: 正規表示式是對字串操作的一種邏輯公式, 就是用事先定義好的一些特定字元、及這 些特定字元的組合, 組成乙個'規則字串',這個'規則字串'用來表達對字串的一種過濾邏輯.
給定的字串是否符合正規表示式的過濾邏輯(匹配)
可以通過正規表示式,從字串中獲取我們想要的部分(提取)
強大的字串替換能力(替換)
靈活性、邏輯性和功能性非常強
可以迅速地用極簡單的方式達到字串的複雜控制
元字元說明
\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');方式2: 字面量var regularexpression = new regexp('\\d', 'gi');
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號:手機:生日:
姓名:
//獲取文字框regexp 物件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
};
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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...