一 正則表達式的正文。 
正則表達式中使用了特殊符號。下面我就將各種符號以及其意義和用法簡單的介紹一下(說明:"X以上包括X"): 
/ 表示在其后的文字是特殊符號。例:"n"和"n"是一致的。"/n"和換行符是一致的。 
^ 和輸入的開始一致。 
$ 和輸入的結尾一致。 
* 與此符號之前的文字0次以上相同的話,兩者一致。例:"zo*"和"zoo","z"都一致。 
+ 與此符號之前的文字1次以上相同的話,兩者一致。例:"zo*"和"zoo"一致,但和"z"不一致。 
? 與此符號之前的文字0次或1次相同的話,兩者一致。例:"a?ve?"和"never"的"ve"一致。 
. 與除了換行符的所有單一文字一致。 
(正則表達式) 以所指定的表達式尋找一致文字。如果找到了,儲存下來。一致的部分可以從 
Match方法獲得的陣列中找到。 
x|y x和y的任意一方相同都會被認為一致。例:"(z|f)ood"和"zood","food"都一致。 
{n} n是0以上的整數。與其前的文字n次相同的話,兩者一致。例:"o{2}"和"Bob"中的"o"不一 
致,與"foooood"中的前兩個"o"一致。 
{n,} n是0以上的整數。與其之前的文字至少n次相同才一致。 
{n,m} 兩者整數。n至m范圍的次數一致。 
[xyz] 與中括號中的文字任意一個相同都被認為一致。 
[^xyz] 與上面的相反。 
[a-z] 文字的范圍,從"a"到"z"的文字都被認為一致。 
[^a-z] 與上面的相反。 
/b 表示單詞的末尾。例:"er/b"和"never"的"er"一致,但和"verb"的"er"不一致。 
/B 表示非單詞的末尾。 
/d 表示數字。 
/D 表示非數字。 
/s 表示空格。 
/S 表示非空格。 
/w 表示所有字母數字。 
/W 表示非所有字母數字。 
   i   (忽略大小寫)   
  g   (全文查找出現的所有   pattern)   
  gi   (全文查找、忽略大小寫)
/num num應該被賦予一個正數。與已經儲存的部分比較。例:"(.)/1"和任意的兩個連續的相同 
文字一致。 
二 如何定義一句正文: 
方法一:直接寫 
var s=/正則表達式/i或g或ig 
方法二:建立對象實例: 
var s=new RegExp(正則表達式,i或g或ig) 
三 與正則表達式有關的方法: 
1 exec方法 
描述: 在制定的文字行內進行搜索。 
結構: 正則表達式.exec(字符串)。 
解說: 檢索的返回: 
null 沒有檢索到; 
一致的結果 檢索到后; 
例: 
代碼片段如下: 
<script> 
var s='AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp' 
var r=new RegExp('g','i'); 
var a=r.exec(s); 
alert(a); 
</script> 
2 compile方法: 
描述: 修改正則表現的內部形式。 
結構: 正則表達.compile('正文','g或i或ig')。 
解說: 沒什么好說的。 
例: 
代碼片段如下: 
<script> 
var s='AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp' 
var r=new RegExp('[A-Z]','g'); 
var a=s.match(r); 
alert(a); 
r.compile('[a-z]','g'); 
var a=s.match(r); 
alert(a); 
</script> 
3 test方法: 
描述: 顧名思義,做測驗。 
結構: 正則表達.test(字符串)。 
解說: 返回: 
false 沒找到; 
true 找到了; 
例: 
代碼片段如下: 
<script> 
var re=/re/g; 
var msg='return'; 
var msg1='goon'; 
alert(re.test(msg)); 
alert(re.test(msg1)); 
</script> 
4 replace方法: 
描述: 尋找一致的并置換他。 
結構: 字符串.replace(正則表達,替換字符串)。 
解說: 與字符串不變化,返回其副本。 
例: 
代碼片段如下: 
<script> 
var s='AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp' 
var r=new RegExp('[A-Z]','g'); 
var a=s.replace(/[a-z]/g,'A'); 
alert(a); 
</script> 
5 match方法: 
描述: 實行檢索。 
結構: 字符串.match(正則表達)。 
解說: 返回數列。 
例: 
代碼片段如下: 
<script> 
var re=/re/g; 
var msg='rererere'; 
var msg1='goon'; 
alert(msg.match(re)); 
alert(msg1.match(re)); 
</script> 
6 split方法: 
描述: 分割字符串。 
結構: 字符串.split(正則表達)。 
解說: 返回數列。 
例: 
代碼片段如下: 
<script> 
var s="hello this good world"; 
var p=//s/g; 
var a=s.split(p); 
alert(a); 
</script> 
7 search方法: 
描述: 返回一致的字符串的位置。(這比indexOf可用途廣多了!) 
結構: 字符串.search(正則表達)。 
解說: 返回 
正整數 如果找到了 
-1 如果沒找到 
例: 
代碼片段如下: 
<script> 
var s="hello this good world"; 
var p=/good/g; 
var a=s.search(p); 
alert(a); 
</script> 
把replace的方法的例子改一下: 
代碼片段如下: 
<script> 
var s="hellOSCF"; 
var r=new RegExp("[A-Z]","g"); 
s=s.replace(r,"a"); 
alert(s) 
</script> 
最后是他的各種屬性 
1 lastIndex屬性: 
描述: 設定檢索開始的位置,可以得到其值 
結構: 正則表達.lastIndex(=值). 
解說: 
當lastIndex大于檢索文字長度的時候,如果用test,exec方法執行的話,執行失敗, 
lastIndex屬性被設定為0. 
當lastIndex等于檢索文字長度的時候,如果表達式正文是空的話,一致.其他場合, 
執行失敗,重設為0. 
上記以外的情況,lastIndex會被設定為最后一致的文字列的位置指針. 
2 source屬性 
描述: 返回正則表達的正文 
結構: 正則表達.source 
例: 
代碼片段如下: 
<script> 
var s=/[a-z]{3}/W/s/g; 
var s1=new RegExp("[a-z]{3}/W","g"); 
alert(s.source); 
alert(s1.source); 
</script> 
下面我將幾個處理字符函數寫出來:
1 嚴禁數字 
代碼片段如下: 
function check(msg){ 
var exe=//d/g; 
if(exe.test(msg))return(0); 
else return(1) 
} 
2 只準字母 
代碼片段如下: 
function check(msg){ 
var exe=//W/g; 
if(exe.test(msg))return(0); 
else return(1); 
} 
3 嚴禁代碼 
代碼片段如下: 
function check(msg){ 
var exe=/<(/w|/W)*>/g; 
if(exe.test(msg))return(0); 
else return(1); 
新聞熱點
疑難解答
圖片精選