对文本数据进行操作是JavaScript中常见的任务。正则表达式通过允许程序员指定字符串匹配的模式来简化诸如验证表单中输入是否具有正确格式之类的任务。
1.正则表达式标记:
字符
含义
举例
i
大小写不敏感
对于模式/http/i “http” 和“HttP” 一样可以匹配
g
全局匹配。找出全部匹配字符串,而不仅仅是找到第一个就返回。
常用于替换
m
多行匹配
2.正则表达式位置指示符:规定模式在它所匹配的字符串里的位置。
字符
含义
举例
^
开头
对于/^http/ 只匹配以http开头的字符串
$
结束
对于/http$/ 只匹配以http结尾的字符串
可以同时使用这两个位置指示符来确保精确的匹配给定的模式,如:/^http$/ 将只匹配http。
3.转义码:
代码
含义
\f
换页
\n
换行
\r
回车
\t
水平制表符
\v
垂直制表符
\/
正斜杠
\\
反斜杠
\OOO
八进制值OOO代表的ASCII字符
\xHH
十六进制HH代表的ASCII字符
\uHHHH
十六进制HHHH代表的Unicode字符
\cX
由^X代表的控制字符,如:\cH代表Ctrl+H
\各种标点符号、运算符号、括弧等
各种标点符号、运算符号、括弧等
用在正则表达式中的转义码是用在字符串中的转义码的超集(在正则表达式中有很多带特殊含义的字符如^和$等)。
4.具体实例
<script language="javascript" type="text/javascript">
//以XXX开头
var reg=/^中/g;//定义以中字开头的表达式
var str="中国万岁,我爱中国!";
str=str.replace(reg,"棕");
alert(str);
//以XXX结尾
var reg=/t$/g;
var str="good foot got makt thinkt";
str=str.replace(reg,"W");
alert(str);
//表示任意字符
var reg=/想.想/g;
var str="想一想,看一看,想啊想啊想啊想";
var found=str.match(reg);
alert(found);
//字符集[...] 多选一 [^...]一个都不能选
var reg=/g[eo]t/g;
var str="get getloooot geeeet";
var found=str.match(reg);
alert(str);
//数字/d
var reg=/\d\d\d/g;
var str="976,2323,222222,2222";
var found =str.match(reg);
alert(found);
//test ||
var reg=/\d\d\d/g;
var str="976,2323,222222,2222";
var t=reg.test(str);
alert(t);
//规定只能输字符的位数
//\d{n}:n个数字
//\d{n,m}:n-m个数字
//\w{n,}:n个字符以上
var reg=/^\d{3}$/g;//只能输入3位
var str="234234";
var t=reg.test(str);
if(t)
{
alert("验证通过!");
}
else
{
alert("验证未通过");
}
//只能一个字符或者没有字符:?
var reg=/12?3/g;//2可有也可没有
var str="12f3,123,12345,13";
var found=str.match(reg);
alert(found);<span style="white-space:pre"> //从a-z的所有字母
<span style="white-space:pre"> </span>//[0-9]的所有数字
<span style="white-space:pre"> </span>var reg=/^[a-z]$/gi;
<span style="white-space:pre"> </span>var str="g";
<span style="white-space:pre"> </span>var t=reg.test(str);
<span style="white-space:pre"> </span>if(t)
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>alert("验证通过!");
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>else
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>alert("验证未通过");
<span style="white-space:pre"> </span>} </span>
</script>