一.
(1)正則表達式是描述字符模式的對象共郭。
(2)正則表達式用于對字符串模式匹配及檢索替換,是對字符串執(zhí)行模式匹配的強大工具矩屁。
(3)語法:
var reg =new RegExp(pattern 棚点,modifiers)尊搬;
或
var reg=/pattern/modifiers;
例:var reg=new RegExp(“\\w+”,“i”);
var reg=/\w+/i;
注意:pattern:規(guī)則模式;modifiers:修飾符(全文匹配或區(qū)分大小寫)
修飾符:用于執(zhí)行不區(qū)分大小寫和全文的搜索途样。
i-修飾符是用來執(zhí)行不區(qū)分大小寫的匹配江醇。
g-修飾符是用于執(zhí)行全文的搜索(而不是在找到第一個就停止查找,而是找到所有的匹配)
RegExp對象方法
test():搜索字符串指定的值何暇,根據(jù)結(jié)果并返回真或假陶夜。
exec():檢索字符串中的指定值,返回值是被找到的值裆站,如果沒有發(fā)現(xiàn)匹配条辟,則返回null。
舉個例子
test()
var reg = new RegExp("hello");//方式二:var reg = /hello/;
var str = "hi , hello Andy , world!";
document.write(reg.test(str));
//返回真假:true;
exec()
var reg = new RegExp("hello");//方式二:var reg = /hello/;
var str = "hi , hello Andy , world!";
document.write(reg.exec(str));
//返回被找的值:hello
二.實際應(yīng)用
(1)驗證用戶名和密碼
("^[a-zA-Z]\w{5,15}$")
注釋:
(1) ^:以^開頭
(2) [a-zA-Z]:匹配a-z和A-Z
(3) \w:字符(字母宏胯,數(shù)字羽嫡,下劃線)
(4) {5,15}:匹配次數(shù)為5-15個
(5) $:以$結(jié)尾
(2)驗證電話號碼
("^(\\d{3,4}-)\\d{7,8}$")
注釋
/d:代表數(shù)字
正確格式:xxx / xxxx - xxxxxxx / xxxxxxxx
(3)驗證郵箱
方括號
[ ]:用于查找某個范圍內(nèi)的字符。
例如:
[abc]:查找含有abc的字符肩袍。
[^abc]:查找不含abc的字符杭棵。
[0-9]: 查找任何從 0 至 9 的數(shù)字。
[a-z] :查找任何從小寫 a 到小寫 z 的字符氛赐。
[A-Z] :查找任何從大寫 A 到大寫 Z 的字符魂爪。
[A-z] :查找任何從大寫 A 到小寫 z 的字符。
[adgk]: 查找給定集合內(nèi)的任何字符鹰祸。
[^adgk]: 查找給定集合外的任何字符甫窟。
元字符
擁有特殊含義的字符
例如
.:查找單個字符(除換行和行結(jié)束)
\w:[a-zA-Z0-9_] (字母,數(shù)字蛙婴,下劃線)
\d:[0-9] (數(shù)字0-9)
\s:查找空白字符粗井。
量詞
例如
n+:匹配任何包含至少一個 n 的字符串。
n*:匹配任何包含零個或多個 n 的字符串。
n?:匹配任何包含零個或一個 n 的字符串浇衬。
n{X}:匹配包含 X 個 n 的序列的字符串懒构。
n{X,Y}:匹配包含 X 或 Y 個 n 的序列的字符串。
n{X,}:匹配包含至少 X 個 n 的序列的字符串耘擂。
n$:匹配任何結(jié)尾為 n 的字符串胆剧。
^n:匹配任何開頭為 n 的字符串。