正則表達(dá)式:? ? ?驗(yàn)證表單? ? 查找? ? 查找替換
正則表達(dá)式的定義方式 :? ? 1、 通過(guò)對(duì)象原型定義? ? ?2、通過(guò)定界符定義
正則表達(dá)式:定界符? //? ? 原子? ?元字符? ? 模式修正符? ? 函數(shù)
-->
<script>
????????????//1藻懒、 通過(guò)對(duì)象原型定義
????????????????var pattern = new RegExp('\d');
????????????????console.log(pattern)
????????????????console.log(typeof pattern);;//object
????????????// 2、通過(guò)定界符定義? ? /正則表達(dá)式的規(guī)則/
????????????????var pattern = /\d/;
????????????????console.log(pattern);
????????????????console.log(typeof pattern);//object
</script>
var pattern = /a/;
var str = 'a';
// exec()檢測(cè)是否符合正則表達(dá)式,若符合則返回符合的內(nèi)容诚啃,不符合則返回null
var res = pattern.exec(str);
console.log(res)
/*
原子:每一個(gè)獨(dú)立字符
[可選的內(nèi)容]代表一個(gè)原子
[0-9]代表數(shù)字0-9
[0-9a-zA-Z_]代表數(shù)字0-9 所有的字母以及下劃線
{}放在原子之后,代表重復(fù)匹配前面的原子的次數(shù)
{m}重復(fù)匹配前面的原子m次
{m,}重復(fù)匹配前面的原子至少m次?
{m,n}重復(fù)匹配前面的原子至少m次浑玛,最多n次? 例如{0,1}
*/
// 必須以什么開(kāi)頭? ^? ? ? ? ? ? ? ? var pattern = /^abc/;
// 必須以什么結(jié)尾? $? ? ? ? ? ? ? ? var pattern = /abc$/;
// 嚴(yán)格模式? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?var pattern = /^abc$/;
特殊的原子? ? \d? 代表[0-9]? ? \D? 代表[^0-9]? ? \w? 代表[0-9a-zA-Z_]? ? \W? 代表[^0-9a-zA-Z_]? ? \s? 匹配所有的空白符(空格? 換行 制表符)
\S 匹配除了空白符以外的任意字符
// 0~120
var pattern = /^\d$|^[1-9]\d$|^1[0-1]\d$|^120$/;
/*
. 除了換行符以外的任意字符
*重復(fù)匹配前面的原子任意次? 相當(dāng)于{0,}
?重復(fù)匹配前面的原子至少0次绍申,最多1次,相當(dāng)于{0,1}
+重復(fù)匹配前面的原子至少一次
*/
// -99~99
var pattern = /^-?\d$|^-?[1-9]\d$/;
// 貪婪模式
var pattern = /<li>.*<\/li>/;//<li>紅旗</li><li>彩旗</li>
// 解除貪婪模式
var pattern = /<li>.*?<\/li>/;//<li>紅旗</li>
//電話號(hào)碼 1 3(0-9) 147 15(0-9) 17(0123567) 18(0-9) 19(0-9)
var pattern = /^1[3589]\d{9}$|^147\d{8}$|^17[0-35-7]\d{8}$/;
// 網(wǎng)址
var pattern = /^(http|https|ftp):\/\/www\.(.*?)\.(com|cn|edu|top|xyz)$/;
模式修正符
函數(shù)
匹配中文