RegExp 創建正則表達式的方式: 如果正則表達式不需要動態生成時,創建固定正則表達式對象: var reg=/正則表達式/g; 正則表達式中所有/都要換為\/ 如果正則表達式由變數或字元串動態生成時,創建可變正則表達式對象: var reg=new RegExp("正則表達式","尾碼"); 註 ...
RegExp
創建正則表達式的方式:
如果正則表達式不需要動態生成時,創建固定正則表達式對象:
var reg=/正則表達式/g;
正則表達式中所有/都要換為\/
如果正則表達式由變數或字元串動態生成時,創建可變正則表達式對象:
var reg=new RegExp("正則表達式","尾碼");
註意:正則中需要轉義的字元:* . ? + $ ^ [ ] ( ) { } | \ /,加上字元串形式(js)中所有\都要轉義一次寫成\\,所以:"\d{6}"-->’\\d\\{6}’。{號和正則衝突,加\,而\和js中的轉義字元衝突,再加一個\
test()返回一個布爾值,用於表明在所搜索的字元串中是否存在正則表達式模式所對應的匹配。
lastIndex:用於規定下次匹配的開始位置。當RegExp.exec() 和 RegExp.test() 找到匹配內容後,lastIndex 屬性指向匹配文本之後的第一個字元的位置,作為下次檢索的起始點。
在全局匹配模式下,該值在每次調用exec()後都會增加,而在非全局模式下則始終保持不變。
當方法 exec() 或 test() 找不到可以匹配的文本時,會自動把 lastIndex 屬性重置為 0。
如果在成功地匹配了某個字元串之後就開始檢索另一個新的字元串,需要手動地把這個屬性設置為 0,否則結果錯誤。
var regExp = /2/g;
regExp.test('123');//true
regExp.test('213');//未重置RegExp對象的lastIndex屬性,從1開始匹配,所以返回false。