/n 換行符 /s 空格 /S 非空格 /d 數字 /D 非數字 /w 字符(包含字母,數字和下劃線) /W 非字符
常用的正則表達式匹配: 匹配中文:[/u4e00-/u9fa5] 行首行尾空格:^/s*|/s*
在正則表達式的使用中常用到: indexOf 查找
var str ="Hello world!"alert(str.indexOf("Hello")alert(str.indexOf("World")alert(str.indexOf("world")彈出結果就為0-16substring 獲取子字符串
var str ="hello world"alert(str.substring(3,6))彈出lo wcharAt 獲取某個字符
var str ="hello world"alert(str.charAt(3))彈出lsplit 分割字符串,獲取數組
var str="How are you doing today?"document.write(str.split(" ") + "<br />")document.write(str.split("") + "<br />")document.write(str.split(" ",3))輸出How,are,you,doing,today?H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?How,are,you正則表達式的方法: 1.正則.test(字符串)返回布爾值,用作判斷
var str = 'abcdef';var re = /b/; //里面是個整體,如果是bd則是假alert(re.test(str));2.字符串.search(正則)返回匹配成功位置
var str ="abcdef";var re =/B/i //不區分大小寫則加ialert(str.search(re))彈出13.str.match(正則)。匹配字符串,成功返回數組,失敗返回null
str.match(//d+/g) //g是全劇匹配 +是至少出現一次4.字符串.replace(正則,新的字符) 。正則匹配,如果成功就把匹配成功的字符替換成新的字符。
var str ="abcdef";var re =/a/;alert(str.replace(re,"b"));彈出bbcdef正則表達式的范圍 ^寫在正則最前面表示起始必須為 $寫在正則的最后表示結束必須為
正則表達式的例子
<title>無標題文檔</title><style type="text/CSS">textarea{width:300px; height:500px;}</style></head><body><textarea id="text1"></textarea><input type="button" id="btn1" value="轉換" class="box box1 box2"/><textarea id="text2"></textarea><script>var str = 'haj123sdk54hask33dkhalsd879';//在str中找出數字放在數組中function findNum(str){ var arr = [];var tmp = ''; for(var i=0;i<str.length;i++){ if( str.charAt(i)<='9' && str.charAt(i)>='0' ){ tmp += str.charAt(i);} else{if(tmp){ arr.push(tmp);tmp = ''; } } } if(tmp){ arr.push(tmp);tmp = ''; } return arr;}//用正則表達式找到數字放在數組里function findNum(str){ return str.match(//d+/g);}alert(findNum(str));//幾種簡單的創建數組和對象的方法var arr=[];var arr = new Array();var obj ={};var obj = new Object();var re = /a/;var re = new RegExp('a');//正則匹配失敗返回布爾值為0var str = 'abcdef';var re = /abd/; //里面是個整體,如果是bd則是假alert(re.test(str));///D為非數字的正則匹配,結果為0var str = '37482t9348791'; var re = //D/;alert(!re.test(str));//不分大小寫,匹配b返回b的位置var str = 'abcdef'; var re = /B/i;alert(str.search(re));var oText1 = document.getElementById('text1');var oText2 = document.getElementById('text2');var oBtn = document.getElementById('btn1');//剔除敏感詞oBtn.onclick = function(){ var str = oText1.value; var re = /公安部|斧子|死亡|服毒身亡/g; str = str.replace(re,function(a){ var num = ''; for(var i=0;i<a.length;i++){ num+='*'; } return num; }); oText2.value = str;}alert(str);//把-變成.變成2013.6.7 //s0為3- 6- s1是3 6 s2是-var str = '2013-6-7';var re = /(/d)(-)+/g;str = str.replace(re,function($0,$1,$2){ //alert($0); return $1+'.';})alert(str);//正則表達式是的分組處理var str = 'abc';var re = /(a)(b)(c)/;alert(str.match(re));//[]里面是或者的關系返回的布爾值為1var str = 'abc';var re = /a[bde]c/;alert(re.test(str)); //^表示排除的意思 返回的布爾值為0var str = 'abc';var re = /a[^bde]c/;alert(re.test(str));//[a-z]表示從a到z中都可以。返回的布爾值1var str = 'abc';var re = /a[a-z]c/;alert(re.test(str)); //<h3>標題</h3>aaaaa//替換成標題aaaaaoBtn.onclick = function(){ var str = oText1.value; var re = /<(/w|//)[^<]+>/g; str = str.replace(re,''); alert(str);}//匹配開頭為數字或者結尾是數字的內容替換成空。oBtn.onclick = function(){ var str = oText1.value; var re = /^/s+|/s+$/g; str = str.replace(re,''); alert(str);}//匹配獨立部分var str='onetwo';var re =/two/b/;alert(re.test(str));var re = //w/w/;var re = /(/w)/1/;</script></body></html>這里面 /b /<(/w|//)[^<]+>/g的用法也不是很清楚希
|
新聞熱點
疑難解答