JS中的正则表达式
简介:
在计算机科学中,是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索或替换那些符合某个模式的文本内容。
正则表达式验证一系列有规律的表达式
与正则表达式相关的两个方法
match()和replace()
replace()方法返回根据正则表达式进行文字替换后的字符串的复制。
语法:stringObj.replace(rgExp,replaceText)
match()方法使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回。
语法:stringObj.match(rgExp)
正则表达式写在两个双斜杠之间,最后一个双斜杠后加g,双斜杠之间写上想要查找的字符串.g代表global的意思即全局。当然如果想查找的内容不区分大小写,则在g后面加上i字母。
作用:
1,测试字符串内的模式。
例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或信用卡号码模式。或者用户名输入是否为空格等。这称为数据验证。
2,替换文本。
可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。
3,基于模式匹配从字符串中提取子字符串。
可以查找文档内或输入域内特定的文本。
举例1(简单):
<scriptlanguage="javascript" type="text/javascript">
varstr="windows是非常优秀的系统,我喜欢windows!"
varreg=/Windows/gi;
vartemp=str.replace(reg,"Linux");
alert(temp);
</script>
举例2:验证qq号码,5位数据以上
^代表以xxx开头
$代表以xxx结尾
\d代表0-9的数字,后面小括号(5,)代表5位数字以上
正则表达式对象的一个方法:test,符合要求会弹出true,否则为false
<scriptlanguage="javascript" type="text/javascript">
varqq=5569
varreg=/^\d(5,)$/g;
if(!reg.test(qq))
{
alert("qq号码格式不正确!");
return;
}
</script>
对于正则表达式的语法参考msdn:http://msdn.microsoft.com/zh-cn/library/ae5bf541(v=vs.80).aspx