javascript——Regex,javascript

來源:互聯網
上載者:User

javascript——Regex,javascript

Regex(RegExp對象):主要用於表單驗證

1、建立Regex:

(1)、var ret = /pattern/; pattern是內容,可以是Regex的內容,可以是字元或是其他的內容

(2)、var rag = new RegExp("pattern");括弧內可以是雙引號或者單引號

2、Regex的exec方法:

reg.exec(str);  ,reg為建立的Regex,str為要執行Regex的目標字串

如:var reg = /test/; //此處如果是e,則輸出e,如果是so,則輸出為null

var str = "testString";

var result = reg.exec(str);

alert(result);//輸出test,當沒有與Regex相匹配的內容時,輸出null

3、c{n}:c表示字母,n表示個數

如:c{1}表示匹配一個c

c{2}表示匹配兩個連續的c

4、c{m,n}:匹配m到n個c,m小於等於n

如:c{3,4}:匹配連續的3個或4個c。如果多於4個,仍然只匹配4個

5、c{n,}:表示最少有n個c,最多則不限個數

6、* 表示0次或多次,c*等同於c{0}

7、 +表示1次或多次,c+等同於c{1,}

8、 ?表示0次或1次,c?等同於c{0,1}

3~8的Regex都是貪心模式,只要在合法的情況下,會盡量多的匹配字元

非貪心模式:正則盡量少地匹配字元,在數位符號後面,組成的形式如:{n,}? , *? , +? , ?? ,  {m,n}?

9、^表示只能匹配字串的開頭

10、 $表示只能匹配字串的結尾

11、‘.’匹配字串中除了分行符號\n之外的所有字元

12、“ | ”Regex中的或,二選一,如b|c表示,匹配b或c

13、字元集合[abc]表示a或者b或者c的任意一個字元

[a-z]:小寫字母;[A-Z]大寫字母;[0-9]數字

14、不區分大小寫:reg = /b|c$/i,即在Regex後面加一個i

15、反字串:p^在Regex開始部分的時候表示開頭的意思,例如/^c/表示開頭是c;但是在字元集合中,它表示的是類似“非“的意思,例如[^abc]就表示不能是a,b或者c中的任何一個。

[^0-9]表示非數字,[^a-z]表示非小寫字母,一次類推 …16、\d表示數位意思,相反,\D表示非數字17、\w表示單詞字元,等同於字元集合[a-zA-Z0-9_]。 p\W表示非單詞字元,等效於[^a-zA-Z0-9_]18、 對電子郵件的驗證:
    var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;19、 對於手機號碼的驗證(提供了兩種方法)
var mobile=/^((13[0-9]{1})|159|153)+\d{8}$/;
var mobile1=/^(13+\d{9})|(159+\d{8})|(153+\d{8})$/;





一個JavaScriptRegex的問題

你的Regex的意思是匹配開頭是8位元字或結尾是11位元字的串
當然正確了

把^和$去了

你要注意,第二個你用了一個或者(|),或的運算優先順序最低,也就是說程式會分別匹配^[0-9]{8}和[0-9]{11}$,而不是匹配^[0-9]{8}$,而^[0-9]{8}是表示行首8位元字,^[0-9]{8}$表示整個串是8位元字
 
在javascript中怎使用Regex??

<script type="text/javascript">
var reg = /^\d{5}$/;
var str = '12345';
var result;

result = reg.test(str); //測試:str 是否符合 正則 ^\d{5}$,返回true 或 false

//result = reg.exec(str); //尋找:str 中否符合 正則 ^\d{5}$ 的字元,找不到返回 null

</script>
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.