js求正则表达式怎么写,比如一个字符串str,判断它有没有逗号或者问号,怎么写?
主要解决首尾匹配的问题就可以,假设首尾的逗号有一个或多个.
匹配首尾的正则元字符分别是^和$,匹配逗号用"," 匹配一个或多个逗号用",+"
var?str=",ABC,,,,";
str.replace(/^,+/,"").replace(/,+$/,"");?
//得到ABC
js正则表达式
<script>
var user_name = "test";
var pattern = /[a-zA-Z0-9_]+/;
document.write(pattern.test(user_name));
</script>
Js 中的 正则表达式?
1定义正则表达式<br>在js中定义正则表达式很简单,有两种方式,一种是通过构造函数,一种是通过//,也就是两个斜杠。
<br>例如<br><br>代码如下:<br><br>varre=newRegExp("\?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}");<br><br>使用构造函数定义正则表达式,注意大小写,负责就会不起作用。
由于构造函数的参数是一个字符串,也可以是两个斜杠的方式定义,遇到一些特殊字符就需要使用进行转义<br>通过双斜杠的方式定义同样的正则表达式<br><br>代码如下:<br><br>varre=/?(w{1,}=w{1,}&){1,}w{1,}=w{1,}/;<br><br>代码如下:<br><br>varre=newRegExp(/^?(w{1,}=w{1,}&){1,}w{1,}=w{1,}/);<br><br>可以和构造函数达到同样的效果,但仔细分析,发现,通过构造函数需要更多的转义字符<br><br>2关于验证的三个正则表达式方法<br>使用正则表达式的主要有字符串的方法match,正则表达式的方法exec,test<br>正则表达式方法test测试给定的字符串是否满足正则表达式,返回值是bool类型的,只有真和假,如果只是单纯的判断,不需要其他的处理,可以使用尤其是验证时。
<br><br>代码如下:<br><br>functiontest(){<br>vartext="index.aspx?test=1&ww=2&www=3";//<br>varre=/?(w{1,}=w{1,}&){1,}w{1,}=w{1,}/;<br>//varre=newRegExp("\?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}");<br>varresult=re.test(text);<br>if(result)<br>{<br>alert("ok");<br>}else<br>{<br>alert("err");<br>}<br><br>}<br><br>正则表达式方法exec测试给定的字符串是否满足正则表达式,返回匹配到的字符串,如果没有匹配的则返回null,和test基本一致,如果需要获取匹配的各个子字符串,可以使用下标的方式,把上边的test的例子可以改写如下<br><br>代码如下:<br><br>functiontest(){<br>vartext="index.aspx?test=1&ww=2&www=3";<br>varre=/?(w{1,}=w{1,}&){1,}w{1,}=w{1,}/;<br>//varre=newRegExp("\?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}");<br>varresult=re.exec(text);<br>if(result)<br>{<br>alert("ok");<br>alert(result);//是?test=1&ww=2&www=3,ww=2&<br>alert(result[0]+",0");//是?test=1&ww=2&www=3<br>alert(result[1]+",1");//是ww=2&<br>}else<br>{<br>alert("err");<br>}<br><br>}<br><br>match其实是字符串的方法,但参数确是一个正则表达式,把上边的例子改写后,如下<br><br>代码如下:<br><br>functiontest(){<br>vartext="index.aspx?test=1&ww=234";//<br>varre=/?(w{1,}=w{1,}&){1,}w{1,}=w{1,}/;<br>//varre2="(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}"<br>varresult=text.match(re);<br>if(result)<br>{<br>alert(result);//?test=1&ww=234,test=1&<br>alert(result[0]+",0");//?test=1&ww=234<br>alert(result[1]+",1");//test=1&<br>}else<br>{<br>alert("err");<br>}<br>}<br><br>其实字符串类还有多个函数可以传递正则表达式,split,search,replace等但这些方法已经不适合验证了。
<br><br>代码如下:<br><br>functiontest(){<br>vartext="index.aspx?test=1&ww=234";//<br>varre=/?(w{1,}=w{1,}&){1,}w{1,}=w{1,}/;<br>//varre2="(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}"<br>varresult=text.split(re);<br>alert(result);<br>alert(result[0]+",0");<br>alert(result[1]+",1");<br>}<br><br>3正则表达式式的转义字符<br>在正则表达式中会经常出现转义字符,例如问号?在正则表达式中有特殊的含义,如果需要匹配问号?就需要转义,使用转义字符反斜杠<br>如下两个都是匹配问号开头的一段字符串<br><br>代码如下:<br><br>functiontest(){<br>vartext="?test=1&ww=2&www=3";<br>varre=/^?(w{1,}=w{1,}&){1,}w{1,}=w{1,}/;//?表示配置问号?<br>//varre=newRegExp("^\?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}");//\?表示配置问号?<br>varresult=re.exec(text);<br>if(result)<br>{<br>alert("ok");<br>alert(result);<br>alert(result[0]+",0");<br>alert(result[1]+",1");<br>}else<br>{<br>alert("err");<br>}<br><br>}
求一个js正则表达式写法
用来提取可以这样写:
var reg=/w{4,28}.[A-Z]{2}d{2}/g
用来验证可以这样写[不能要g]:
var reg=/^w{4,28}.[A-Z]{2}d{2}$/
js正则表达式[?
[表示转义字符
1.首先 email地址是允许中括号出现的
2. 在正则表达式里 () [] 这些符号如果单独出现,就会被理解为其他含义
3.[ ]表示email里面可以出现[ ]符号
举例
[abc] 表示a,b,c其中一个就是匹配的
[abc] 表示完全匹配 [abc]
?表示一个或0个
js正则表达式怎么写?
创建正则表达式(实战帮有javascript课程与实训项目哦,可以一试)
var re = new RegExp();//RegExp是一个对象,和Aarray一样
//但这样没有任何效果,需要将正则表达式的内容作为字符串传递进去
re =new RegExp("a");//最简单的正则表达式,将匹配字母a
re=new RegExp("a","i");//第二个参数,表示匹配时不分大小写