正则表达式创建方式和使用方式
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>
相关文章推荐
- msql 正则表达式
- 正则表达式
- Mootools 1.2教程 正则表达式
- ASP中 SQL语句 使用方法第1/3页
- 批处理FINDSTR正则表达式用法实例分析
- 身份证复印件的正确使用方法 身份证防被盗用
- vbs正则表达式代码
- C#正则表达式Regex类的常用匹配
- C#中利用正则表达式将人民币金额转换为大写汉字
- C#使用正则表达式实现首字母转大写的方法
- h1标签的使用技巧
- php中看实例学正则表达式
- PHP正则表达式之定界符和原子介绍
- PHP下常用正则表达式整理
- 批处理 正则表达式(findstr) 整理
- 详解C#正则表达式Regex常用匹配
- C#正则表达式的6个简单例子
- 惰性函数定义模式 使用方法第1/3页
- JS event使用方法详解