js正则表达式RegExp



js正则表达式RegExp.1.实例一(简单案例)

(1)function reg1(){
var context=document.getElementByIdx_x_x_x_x_x_x_x_x(“at”).innerText;
var regrul=/(\d){4}/gi;//格式为//gi
while(res=regrul.exec(context)){
window.alert(res);//res是数组
}
//window.alert(context);
}
2.实例二(支持正则表达式的 String 对象的方法)
(1)

function reg2(){
var string=document.getElementByIdx_x_x_x_x_x_x_x_x(“ta2″).innerText;
//window.alert(string);
var reg1=/abc/gim;//修饰符:g表示全局匹配,i忽略大小写,m执行多行匹配
window.alert(string.search(reg1));//字串的search方法返回正则表达式的位置
}
js正则表达式RegExp找到abc字串的位置
(2)
function reg3(){
var string=document.getElementByIdx_x_x_x_x_x_x_x_x(“ta2″).innerText;
//window.alert(string);
var reg1=/abc/gim;
window.alert(string.match(reg1));//字串的match方法返回正则表达式中的字串
}
js正则表达式RegExp匹配到几个abc就打印出几个
 
(3)
function reg4(){
var string=document.getElementByIdx_x_x_x_x_x_x_x(“ta2″).innerText;
//window.alert(string);
var reg=/abc/gim;
 window.alert(string.replace(reg,”rushenweiwu”));//用rushenweiwu替换原字串的字符

}
3.反向引用
注:反向引用(\d)代表一个表达式

function reg5(){
var string=document.getElementByIdx_x_x_x_x_x_x(“ta2″).innerText;
//window.alert(string);
var reg=/(\d)(\d)\2\1/gim;//\2和\1都是反向引用。\2反向引用第二个表达式\1方向引用第一个表达式.结果就是类似5225
while(res=reg.exec(string)){
window.alert(res);
}
}

//另一个需求

//取出11223344
var reg=/(\d)\1(\d)\2(\d)\3(\d)\4/gim;

  //取出12221

var reg1=/(\d)(\d)\2\2\1/gim;
//取出12345-111222333
var reg2=/(\d){5}-(\d)\2\2(\d)\3\3(\d)\4\4/gim
4.元字符
js正则表达式RegExp
1.限定符
js正则表达式RegExp

function reg6(){
var string=document.getElementByIdx_x_x_x_x_x(“ta2″).innerText;
var reg1=/a{3,5}/gi;//表示a连续出现3次或者5次
var reg=/a{3}/gim;//三个连续的a
while(res=reg.exec(string)){
window.alert(res);
}
}
js正则表达式RegExp
js正则表达式RegExp
js正则表达式RegExp

2.字符匹配符
js正则表达式RegExp

function reg7(){
var string=document.getElementByIdx_x_x_x_x_x(“ta2″).innerText;
var reg1=/[a-z]/gim;//字符匹配符,得到多个字串
var reg1=/[a-z]*/gim;//*表示0-任一个,js匹配原则,得到一个字串
var reg1=/[a-z]?/gim;//?表示0-1个
while(res=reg1.exec(string)){
window.alert(res);
}
}
js正则表达式RegExp

只得到非a-z的字符

js正则表达式RegExp

js正则表达式RegExp

3.定位符
js正则表达式RegExp

定位符只会获取开始位置或者结束位置的字符

//定位符,获取开始位置的字符或者结束位置的字符
rutytyrusdsds11212rudfdrru
function reg9(){
var string=document.getElementByIdx_x_x(“ta2″).innerText;
var reg=/^ru/gi;//匹配字串开始位置的ru
 while(res=reg.exec(string)){
 window.alert(“start:”+res[0]);
}

var reg1=/ru$/gi;//匹配字串结束位置的ru
 while(res1=reg1.exec(string)){
 window.alert(“over:”+res1[0]);
}
}
4.选择匹配符
js正则表达式RegExp
//选择匹配符
function reg10(){
var string=document.getElementByIdx_x_x(“ta2″).innerText;
var reg=/(ru|ge|wei)/gi;//|之间的字符是或的关系
 while(res=reg.exec(string)){
 window.alert(“>>>>>”+res[0]);
}
}
 
5.转意符号
js正则表达式RegExp


6.综合案例

js正则表达式RegExp

function reg11(){
var string=document.getElementByIdx_x(“t1″).value;
var reg=/^[a-zA-Z0-9_]+@{1}[a-zA-Z0-9]+\.(com|cn)$/gi;
 if(res=reg.exec(string)){
 window.alert(“ok!!!!”);
}else{
 window.alert(“sorry!!”)
}
}

js正则表达式RegExp

js正则表达式RegExp

js正则表达式RegExp