js中的正規表示式比起c#中的正規表示式要弱很多,但基本夠用了
1定義正規表示式
2關於驗證的三個這則表示式方法
3正規表示式式的轉義字元
1定義正規表示式
在js中定義正規表示式很簡單,有兩種方式,一種是通過建構函式,一種是通過//,也就是兩個斜槓。
例如複製**
**如下:
var re =new regexp("\\?(\\w=\\w&)\\w=\\w");
使用建構函式定義正規表示式,注意大小寫,負責就會不起作用。由於建構函式的引數是乙個字串,也可以是兩個斜槓的方式定義,遇到一些特殊字元就需要使用\進行轉義
通過雙斜槓的方式定義同樣的正規表示式
複製**
**如下:
var re =/\?(\w=\w&)\w=\w/;
複製**
**如下:
var re =new regexp( /^\?(\w=\w&)\w=\w/);
可以和建構函式達到同樣的效果,但仔細分析,發現,通過建構函式需要更多的轉義字元\
2關於驗證的三個正規表示式方法
使用正規表示式的主要有字串的方法match,正規表示式的方法exec,test
正規表示式方法test測試給定的字串是否滿足正規表示式,返回值是bool型別的,只有真和假,如果只是單純的判斷,不需要其他的處理,可以使用尤其是驗證時。
複製**
**如下:
function test()=\w&)\w=\w/;
// var re =new regexp("\\?(\\w=\\w&)\\w=\\w");
var result= re.test(text);
if(result)
else
}正規表示式方法exec測試給定的字串是否滿足正規表示式,返回匹配到的字串,如果沒有匹配的則返回null,和test基本一致,如果需要獲取匹配的各個子字串,可以使用下標的方式,把上邊的test的例子可以改寫如下
複製**
**如下:
function test()=\w&)\w=\w/;
// var re =new regexp( "\\?(\\w=\\w&)\\w=\\w");
var result= re.exec(text);
if(result)
else
}match其實是字串的方法,但引數確是乙個正規表示式,把上邊的例子改寫後,如下
複製**
**如下:
function test()=\w&)\w=\w/;
// var re2 = "(\\w=\\w&)\\w=\\w"
var result= text.match(re);
if(result)
else
}其實字串類還有多個函式可以傳遞正規表示式,split,search,replace等但這些方法已經不適合驗證了。
複製**
**如下:
function test()=\w&)\w=\w/;
// var re2 = "(\\w=\\w&)\\w=\\w"
var result= text.split(re);
alert(result);
alert(result[0]+",0");
alert(result[1]+",1"); }
3正規表示式式的轉義字元
在正規表示式中會經常出現轉義字元,例如問號?在正規表示式中有特殊的含義,如果需要匹配問號?就需要轉義,使用轉義字元反斜槓\
如下兩個都是匹配問號開頭的一段字串
複製**
**如下:
function test()=\w&)\w=\w/;// \?表示配置問號?
// var re =new regexp( "^\\?(\\w=\\w&)\\w=\\w");// \\?表示配置問號?
var result= re.exec(text);
if(result)
else
}
JS正規表示式詳解
if patrn.exec s return false return true a za z0 9 if patrn.exec s return false return true if patrn.exec s return false return true 校驗密碼 只能輸入6 20個字母 ...
js正規表示式詳解
一 正則的兩種寫法 var re a 一般情況下都用簡寫的方式 效能好 var re new regexp a 需要傳入引數的時候用 二 轉義字元 n 換行 r 製表 t 回車 s 空格 s 非空格 d 數字 d 非數字 w 字元 字母 數字,下劃線 w 非字元 任意字元 真正的點 b 獨立的部分 ...
js使用正規表示式
簡單的說,正規表示式是一種可以用於模式匹配和替換的強有力的工具。其作用如下 測試字串的某個模式。例如,可以對乙個輸入字串進行測試,看在該字串是否存在乙個 號碼模式或乙個信用卡號碼模式。這稱為資料有效性驗證。1.exec 方法 用正規表示式模式在字串中執行查詢,並返回包含該查詢結果的乙個陣列。rgex...