先來看看下面這段**
var flag =
true
;var reg=
/^(?:[0-9]?|10)$/g
;var iptlist =$(
".ipinter");
for(i=
0;iconsole.
log(flag)
;
這段**中 iplist 每個的值 value 都為 「0」;
正規表示式的作用是匹配 0-10 的數字
但是結果輸出卻為 false;
在 debugger 中可以看到,沒兩次迴圈,就會有一次判定為false
看看更改後的**:
var flag =
true
;var iptlist =$(
".ipinter");
for(i=
0;iconsole.
log(flag)
;
將 reg 宣告定義在迴圈內部,每次迴圈都會初始化乙個新的 reg
此時結果輸出為 true
這是因為regexp.test()方法,第一次從位置0開始查詢,可以匹配;第二次的查詢位置就不是0了,說以就不能匹配了。
解決方法也很簡單:
如上第二段**,每次使用重新初始化。
reg.lastindex = 0; 讓test每次從0開始匹配!
JS中正則方法的使用
js中使用正則的方法很多 一 string物件有四種使用正規表示式的方法 1 search 方法 返回與正規表示式查詢內容匹配的第乙個子字串的位置 偏移位 stringobj.search rgexp 引數 stringobj 必選項。要在其上進行查詢的 string 物件或字串文字。rgexp 必...
JS中正規表示式
js中正規表示式有幾種不同的使用方法,一些用法是通過字串物件來使用,另外一些通過正規表示式物件使用。一 regexp 正規表示式 的屬性和方法 1 屬性 regexp的例項有幾個唯讀的屬性 global表示是否為全域性匹配,igorecase表示是否忽略大小寫,multiline表示是否為多行匹配,...
js中正規表示式
1 正則的建立方式?第一種 通過new關鍵字建立 var reg new regexp 第二種 字面量建立 var reg 2.元字元 一 d 數字字元 0 9 d 非數字字元 w 數字 字母 下劃線字元 即單詞字元 w 非單詞字元 s 空格字元 s 非空格字元 b 單詞邊界 匹配的只是乙個位置 這...