只能夠操作字符串
var str='ab215d af7 67a c2 de99f';
alert(re.test(str)); test檢測字符串是否符合規定的規則
var re= /\d/ 1個 \d代表1個數字
var re= /\d+/g global 全局匹配 +好多個
alert(str.match(re))
search()
字符串搜索
返回出現的位置
忽略大小寫:i——ignore
判斷浏覽器類型
match()
獲取匹配的項目
量詞:+
量詞變化:\d、\d\d和\d+
全局匹配:g——global
例子:找出所有數字
replace()
替換所有匹配
返回替換後的字符串
例子:敏感詞過濾
alert(str.replace(/a/gi,”T”);
字符類
[ab] 表示a|b
[1 23] 表示1| |2|3
var re=/1[abc]2/g; //1和2之間出現a也行b也行c也行
//var re=/1a2|1b2|1c2/; //效果同上
任意字符
[abc]
例子:o[usb]t——obt、ost、out
范圍
[a-z] 所有的英文
[0-9] 所有的數字
[0-9a-z]數字或者字母
例子:id[0-9]——id0、id5
排除
[^a] 除了a以外什麼都行
例子:o[^0-9]t——oat、o?t、o t
轉義字符
.(點)——任意字符
\d、 數字 digital
\w、 word [a-z0-9_] 還有個下劃線
\s space
var str=' fd rr erre fff ';
alert('('+str.replace(/\s+/g, '')+')');
\D、 [^0-9] 除了0-9 非數字
\W、 [^a-z0-9_]
\S 除了空白字符以外的
量詞
出現的次數
{n,m},至少出現n次,最多m次
例子:查找QQ號
常用量詞
{n}正好n次
{n,m}至少n次,最多m次
{n, }至少n次,最多不限
{ ,m }至少不限,最多m次
{n} 正好n次
*任意次 {0,} 建議不使用
? 零次或一次{0,1}
+ {1,} 一次或任意次{1,}
高級表單校驗
校驗郵箱 var re=/^\w+@[a-z0-9]+\.[a-z]{2,4}$/;
行首行尾 var re=/^\s+|\s+$/g;
去除空格: ^\s*|\s*$
匹配中文: var re=/[\u4e00-\u9fa5]/;
完美版getByClass
單詞邊界: \b var re=new RegExp('\\b'+sClass+'\\b', 'i');
if(re.test(aEle[i].className))
字符串操作包括哪些?舉例說明
charAt 獲取某一位置的字符串
search 查找某一字符第一次出現的位置
substring 有目標的額截取一部分字符串
split 切割字符串
什麼是正則表達式?如何創建正則對象?
----把描述的規則用正則的語法說出來
----JS風格——new RegExp(“a”, “i”)
----perl風格——/a/i
正則有幾種選項?分別是什麼意思?
i 忽略大小寫
g 全局匹配
search、match、replace是做什麼的?怎麼用?
search 查找
match 匹配
replace 把符合規則的一部分替換成相應字符串
字符類([])包括幾種情況?
任意字符 范圍 排除
[abc] [0-9a-z] [^a]
正則有哪些轉義字符?分別是什麼意思?
.
\d
\w
\s
\D
\W
\S
什麼是量詞?各個量詞分別有什麼作用?
{n}正好n次
{n,m}至少n次,最多m次
{n, }至少n次,最多不限
{ ,m }至少不限,最多m次
{n} 正好n次
*任意次 {0,} 建議不使用
? 零次或一次{0,1}
+ {1,} 一次或任意次{1,}
舉幾個正則表達式的例子,比如:郵件、中文等
高級表單校驗
校驗郵箱 var re=/^\w+@[a-z0-9]+\.[a-z]{2,4}$/;
行首行尾 var re=/^\s+|\s+$/g;
去除空格: ^\s*|\s*$
匹配中文: var re=/[\u4e00-\u9fa5]/;
完美版getByClass
function getByClass(oParent, sClass)
{ var aEle=document.getElementsByTagName('*'); var re=new RegExp('\\b'+sClass+'\\b', 'i'); var i=0; var aResult=[]; for(i=0;i<aEle.length;i++) { if(re.test(aEle[i].className)) { aResult.push(aEle[i]); } } return aResult; }單詞邊界: \b var re=new RegExp('\\b'+sClass+'\\b', 'i');
if(re.test(aEle[i].className))