^ |
輸入或行的起始部分。 |
^T 匹配"This good earth"中的"T",但與"Uncle Tom's Cabin"中的"T"不匹配
|
$ |
輸入或行的結尾部分。 |
h$ 匹配"teach"中的"h",但與"teacher"中的"h"不匹配
|
* |
0 個或多個前置字符。 |
um* 匹配"rum"中的"um"、"yummy"中的"umm"和"huge"中的"u"
|
+ |
1 個或多個前置字符。 |
um+ 匹配"rum"中的"um"和"yummy"中的"umm",但在"huge"中沒有任何匹配項
|
? |
前置字符最多出現一次(即,指示前置字符是可選的)。 |
st?on 匹配"Johnson"中的"son"和"Johnston"中的"ston",但在"Appleton"或"tension"中沒有任何匹配項
|
. |
除換行符外的任何單字符。 |
.an 匹配短語"bran muffins can be tasty"中的"ran"和"can"
|
x|y |
x 或 y。 |
FF0000|0000FF 匹配 bgcolor="#FF0000" 中的"FF0000"和 font color="#0000FF" 中的"0000FF"
|
{n} |
恰好 n 個前置字符。 |
o{2} 匹配"loom"中的"oo"和"mooooo"中前兩個"o",但在"money"中沒有任何匹配項
|
{n,m} |
至少 n 個、至多 m 個前置字符。 |
F{2,4} 匹配"#FF0000"中的"FF"和"#FFFFFF"中的前四個"F"
|
[abc] |
用括號括起來的字符中的任何一個字符。用連字符指定某一范圍的字符(例如,[a-f] 等效于 [abcdef])。 |
[e-g] 匹配"bed"中的"e"、"folly"中的"f"和"guard"中的"g"
|
[^abc] |
未在括號中括起來的任何字符。用連字符指定某一范圍的字符(例如,[^a-f] 等效于[^abcdef])。 |
[^aeiou] 最初匹配"orange"中的"r"、"book"中的"b"和"eek!"中的"k"
|
\b |
詞邊界(例如空格或回車符)。 |
\bb 匹配"book"中的"b",但在"goober"或"snob"中沒有任何匹配項
|
\B |
詞邊界之外的任何內容。 |
\Bb 匹配"goober"中的"b",但在"book"中沒有任何匹配項
|
\d |
任何數字字符。等效于 [0-9]。 |
\d 匹配"C3PO"中的"3"和"apartment 2G"中的"2"
|
\D |
任何非數字字符。等效于 [^0-9]。 |
\D 匹配"900S"中的"S"和"Q45"中的"Q"
|
\f |
換頁符。 |
|
\n |
換行符。 |
|
\r |
回車符。 |
|
\s |
任何單個空白字符,包括空格、制表符、換頁符或換行符。 |
\sbook 匹配"blue book"中的"book",但在"notebook"中沒有任何匹配項
|
\S |
任何單個非空白字符。 |
\Sbook 匹配"notebook"中的"book",但在"blue book"中沒有任何匹配項
|
\t |
制表符。 |
|
\w |
任何字母數字字符,包括下劃線。等效于 [A-Za-z0-9_]。 |
b\w* 匹配"the barking dog"中的"barking"和"the big black dog"中的"big"和"black" |
\W |
任何非字母數字字符。等效于 [^A-Za-z0-9_]。 |
\W 匹配"Jake&Mattie"中的"&"和"100%"中的"%" |
<script>
function testfn(str)

{
var ex = "^\\w+$";
var re = new RegExp(ex,"i");
alert(re.test(str));
}
</script>

<script>
testfn("dfda");
testfn("123");
testfn(",");
testfn(".");
testfn("123.3");
</script>自己試驗一下
實際應用,Email驗證
<script>
function testmail(str)

{
var ex = "^\\w+@[\\w]+\\.+[a-z]{2,3}$";
var re = new RegExp(ex,"i");
alert(re.test(str));
}
</script>

<script>
testmail("aacom@fda.com");
</script>
注意.的轉義處理,因為.本身在正則表達式中有含義,代表非換行的單個字符
而我們想要的是.的實際標點
<script>
function spliturl(str)

{
var ex = "\\w{3}\.\\w+\.\\w{2,3}\\.\\w{2,3}";
var re = new RegExp(ex);
var arr = re.exec(str);
alert(arr[0]);
}
</script>

<script>
spliturl("www.itnow.com.cn");
</script>
<script>
function spliturl(str)

{
var ex = "(\\w{3})\.(\\w+)\.(\\w{2,3})\\.(\\w{2,3})";
var re = new RegExp(ex);
var arr = re.exec(str);
alert(arr);
alert(RegExp.$1);
alert(RegExp.$2);
}
</script>

<script>
spliturl("www.itnow.com.cn");
</script>加了小括號就是定義了一個變量,可以使用,js中保存在RegExg.$1 ---- RegExg.$9中
posted on 2006-03-11 13:23
北國狼人的BloG 閱讀(288)
評論(0) 編輯 收藏