正则表达式(Regular Expression)是一个描述字符模式的对象。它的作用主要是验证客户端输入数据的正确性保证系统的安全,同时因为正则表达的验证是在客户端进行的,所以节约了大量的服务器端的系统资源。
JavaScript中的RegExp类表示正则表达式,而且String和RegExp都定义了使用正则表达式进行强大的模式匹配和文本检索与替换函数。
其中RegExp对象包含了两个方法:test()和exec().他们的功能相似,都是用来测试字符串匹配。
示例:
// 方法示例 test 使用字面量方式的
var pattern =/box/i; //创建正则模式,不区分大小写
var str='this is a Box!';
alert(pattern.test(str)); //测试结果为true
// 方法示例 exec 使用字面量方式的
var pattern =/box/i;
var str='this is a Box!';
alert(pattern.exec(str)); //测试结果返回为数组Box,否则为null
var pattern=/box/ig; //全局搜索
var str='this is a box!,that is a box too';
alert(str.match(pattern));//匹配到两个Box
alert(str.match(pattern).length);//数组的长度
alert(str.search(pattern)); //查找到的返回位置,否则返回为-1.
//注意:只要查到了就返回,不需要都查完。
alert(str.replace(pattern,'Tom'));//查找要匹配的字符,然后到替换。
var pattern=/ /ig;
var str='this is box!';
alert(str.split(pattern)); //将空格分成数组。
正则表达式中元字符是包含特殊含义的字符。它们有一些特殊的功能,可以控制匹配模式的方式。反斜杠将失去其特殊含义。
RegExp的静态属性与对象的示例属性与元字符的示例就不演示了,和上面的编写类似。有兴趣可以试一试,至于正则表达式中的元字符有哪些,可以取网上查查。
在正则表达式中有贪婪与懒惰两种特性。
通过运用正则表达式中的贪婪与懒惰两种特性能很好的获取要输入的信息。捕获所要所要的信息内容。