JavaScript正則表達式

正則表達式:主要用來匹配字符;工作原理,使用通配符匹配技術。

正則表達式:

1、var re=new RegExp("a","i")  實例化一個對象,a是一個正則的內容,具體的規則,i是一個標誌

2、var re=/a/i a也是正則內容,i是規則。加上i的意思是不區分大小寫。沒有i,表示區分大小寫。*表示匹配任意字符。如果之匹配星號,我們需要用到專一,用一個反斜槓來進行轉義\*,這樣就可以匹配*號了。只要是特殊符號,要進行匹配的話,都要進行轉義,特殊符號有:!¥……*+=.\/()[]{};這些符號要進行匹配的話,都要進行轉義。

3、特殊字符:o t n v f r xnn uxxxx cX這些特殊字符要匹配的話,也要進行轉義一下。

這個是字符類,是代表的一類字符。

Unicode 空白符就是表示的空格。小寫和大寫都是非的關係。


創建正則表達式兩種方式:

var re = new RegExp("a","i");   //a具體規則   i標誌

var re = /a/i     //匹配字符串中的"a"  i不區分大小寫


1.特殊符號    //匹配以下特殊字符需要用反斜槓轉義

    $ ^ * + = | . ? \ / ( ) { } [ ]       

2.特殊字符

   o t n v f r xnn uxxxx cx


正則表達式對象的方法

exec()  執行正則表達式的匹配,返回一個數組

test()  測試正則表達式的匹配,返回布爾值

toSource() 返回RegExp對象的源代碼

toString() 將RegExp對象轉換成字符串

 

標誌:

i 匹配時不區分大小寫

g 匹配時執行全局匹配

m 匹配時執行多行匹配

 

重複類:{n} 匹配前一項n次;

       {n,}匹配前一項至少一次,至多不限

       {n,m}匹配前一項至少N次,最多M次

       {?}匹配前一項0次或者1次

       {+}匹配前一項至少1次

       {*}匹配前一項0次或者多次

 

選擇符: 分隔可以用來選擇的文字

定位符: ^ :匹配字符串的結尾

       $: 匹配一個單詞的邊界

       \b: 匹配一個單詞的邊界

       \B: 與\b相反,匹配一個非單詞邊界

\u4e00-\u9fa5 所有漢字

[^\x00-xff]意思爲雙字節  \x00-xff表示爲單字節

 

unicode 漢字範圍 \u4e00-\u9fa5

\w a-zA-Z0-9

匹配合法用戶名

var re = /[\w\u4e00-\u9fa5]/g;

匹配非法用戶名

var re = /[^\w\u4e00-\u9fa5]/g;

用戶名要求:1.組成:數字,字母(不區分大小寫),漢字,下劃線。


3種交互行爲驗證:

1.獲得焦點時,提示用戶名命名規則。

2.輸入用戶名時,提示已填字符數量。

3.失去焦點時,判斷是否爲空、長度是否小於5或大於25、是否有非法字符,如都合法則提示OK。

 

x00-xff表示所有ASCII碼中的單字符。如不在此範圍則用2個字符代替(一個漢字代表2個字符的判斷)。

計算輸入字符的長度:

function getLength(str) {

return str.replace(/[^\x00-xff]/g,"xx").length;

}

var re_n=/[^\d]/g;  //表示匹配全局非數字

var re_t=/[^a-zA-Z]/g;  //表示匹配全局非字母

var re = /^[a-zA-Z]{1}[\w\.]{4,19}$/;/*只能輸入5-20個字符,以“字母”開頭*/;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章