您的位置:首页 > 其它

正则表达式创建方式和使用方式

2016-05-29 11:35 232 查看

正则表达式创建方式:

1.通过RegExp类的构造方法创建

语法格式:new RegExp(pattern[,flags])

pattern:必选参数,用于指定需要进行匹配的模式字符串。以\\开头。

flags:可选参数,用于指定正则表达式的标志信息。

g: 全局标志。如果设置了该标志,对于某个文本执行搜索或替换时,将对文
  

       本中的所有匹配部分起作用,否则紧搜索或替换第一次匹配的内容。

i:   忽略大小写标志。

m: 多行标志。如果不设置这个标志,那么^只能匹配字符串的开头,$只能匹
  

配字符串的结尾;如果设置了这个标志,那么^可以匹配多行字符串的每行
 

        的开头,$可以匹配多行字符串的每行的结尾。

例子:var re = new RegExp("\\d",g); 对文本中所有满足\d的进行匹配。

2.通过正则表达式字面量创建RegExp对象

正则表达式字面量由//中间加入模式字符串组成。如果还要指定标志信息,则在最后的
/后面加上标志信息。

例子:var re = /\d/g; 对文本中所有满足\d的进行匹配。

正则表达式的使用方式:

1.使用test()方法进行模式匹配

test()方法用于对一个指定的字符串执行模式匹配,如果搜索到匹配的字符,返回true,否则返回false

格式:regExp.test(str)  regExp为正则表达式,str为指定的字符串。

例子:var re = /\d/g;
         re.test(123);  //返回true
       re.tesr("ads");//返回false
       re.test("123asd");  //返回true

利用正则表达式验证电话号码:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
function checkTel(){
var str=form1.text1.value;//获取输入的电话号码
var er=/^((\d{3}-)?\d{8})$|^((\d{4}-)?\d{7,8})$/;//定义正则表达式
if(er.test(str)){
alert("你输入的电话号码合法");
form1.text1.value="";
}
else{
alert("你输入的电话号码不合法");
form1.text1.value="";
}
}
</script>
</head>
<body>
<form name="form1" method="post" action="">
请输入电话号码:<input type="text" name="text1" id="tel">
<input type="button" name="check" value="检测" onclick="checkTel()">
</form>
</body>
</html>

2.使用exec()方法进行模式匹配
exec()方法返回值不是true或者false,而是当没有搜索到匹配的字符时,返回null,否则返回一个数组,这个数组
的第一个元素包含与正则表达式相匹配的字符串,其他元素包含的是匹配的各个分组(用括号括起来的子表达
式)。
格式:regExp.exec(str)  regExp为正则表达式,str为指定的字符串。

利用正则表达式提取身份证中的出生年月:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
function checkBirthday(){
var str=form1.text1.value;//获取输入的身份证号码
var er=/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{4})$/;//定义正则表达式
var arr=er.exec(str);
if(arr!=null){
alert("你输入的身份证号码为:"+arr[0]+"\n出生年月为:"+arr[2]+"年"+arr[3]+"月"+arr[4]+"日");
form1.text1.value="";
}
else{
alert("你输入的身份证号码不合法");
form1.text1.value="";
}
}
</script>
</head>
<body>
<form name="form1" method="post" action="">
请输入身份证号码:<input type="text" name="text1" id="ID" size="50">
<input type="button" name="check" value="从身份证号码中获取出生年月" onclick="checkBirthday()">
</form>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息