js中的正则表达式比起C#中的正则表达式要弱很多,但基本够用了
1定义正则表达式
2关于验证的三个这则表达式方法
3正则表达式式的转义字符
1定义正则表达式
在js中定义正则表达式很简单,有两种方式,一种是通过构造函数,一种是通过//,也就是两个斜杠。
例如
代码如下:
var re =new RegExp("//?(//w{1,}=//w{1,}&){1,}//w{1,}=//w{1,}");
使用构造函数定义正则表达式,注意大小写,负责就会不起作用。由于构造函数的参数是一个字符串,也可以是两个斜杠的方式定义,遇到一些特殊字符就需要使用/进行转义
通过双斜杠的方式定义同样的正则表达式
代码如下:
var re =//?(/w{1,}=/w{1,}&){1,}/w{1,}=/w{1,}/;
代码如下:
var re =new RegExp( /^/?(/w{1,}=/w{1,}&){1,}/w{1,}=/w{1,}/);
可以和构造函数达到同样的效果,但仔细分析,发现,通过构造函数需要更多的转义字符/
2关于验证的三个正则表达式方法
使用正则表达式的主要有字符串的方法match,正则表达式的方法exec,test
正则表达式方法test测试给定的字符串是否满足正则表达式,返回值是bool类型的,只有真和假,如果只是单纯的判断,不需要其他的处理,可以使用尤其是验证时。
代码如下:
function test(){
var text="index.aspx?test=1&ww=2&www=3"; //
var re =//?(/w{1,}=/w{1,}&){1,}/w{1,}=/w{1,}/;
// var re =new RegExp("//?(//w{1,}=//w{1,}&){1,}//w{1,}=//w{1,}");
var result= re.test(text);
if(result)
{
alert("ok");
}else
{
alert("err");
}
}
正则表达式方法exec测试给定的字符串是否满足正则表达式,返回匹配到的字符串,如果没有匹配的则返回null,和test基本一致,如果需要获取匹配的各个子字符串,可以使用下标的方式,把上边的test的例子可以改写如下
代码如下:
function test(){
var text="index.aspx?test=1&ww=2&www=3";
var re = //?(/w{1,}=/w{1,}&){1,}/w{1,}=/w{1,}/;
// var re =new RegExp( "//?(//w{1,}=//w{1,}&){1,}//w{1,}=//w{1,}");
var result= re.exec(text);
if(result)
{
alert("ok");
新闻热点
疑难解答
图片精选