^ |
输入或行的起始部分。 |
^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 阅读(285)
评论(0) 编辑 收藏