1、正则表达式的示例,用以捕获反向引用。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>正则反向引用_www.jb200.com</title>
<link rel="stylesheet" type="text/css" href="">
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script type="text/javascript">
//子表达式 捕获 反向引用 满足第一位和最后一位相同,第二位和第三位相同的4位数 var regExp=/(d)(d)21/gi;
function test(){
var con=document.getElementById("content").value;
//连续的3个数{n} ,
//var regExp=/a{2}1{3}/gi;
//{n,m}最少n次最多m次 js贪婪原则先匹配多的再去匹配少的
//var regExp=/1{3,4}/gi;
//+ 表示出现一次到任意多次
//var regExp=/1+/gi;
//* 表示0次到任意多次
//var regExp=/a1*/gi;
//? 表示出现0次到1次
//var regExp=/a1?/gi;
//[a-z]
//var regExp=/./gi;
//^开始 $结尾 定位符
//var regExp=/han$/gi;
//b 匹配边界(如空格隔开等)的目标字符串 B 相反
//var regExp=/hanB/gi;
// | 选择匹配
var regExp=/(pan|潘|盘)/gi;
while(res=regExp.exec(con)){
window.alert(res[0]);
}
}
</script>
</head>
<body>
<textarea id="content" cols="20" rows="10"></textarea><br/>
<input type="button" value="test" onclick="test()">
</body>
</html>
2、javascipt-正则表达式练习--验证电话号码与URL检测
验证电话号码:
(1)电话号码由数字、"("、")"和"-"构成
(2)电话号码为8位或者11位(不含区号)
(3)如果电话号码中包含有区号 那么区号为三位或四位
(4)区号用"("、")"或"-"和其他部分隔开
(5)移动电话号码为11或12位,如果为12位,那么第一位为0
(6)11位移动电话号码的第一位和第二位为"13"
(7)12位移动电话号码的第二位和第三位为"13"
参考代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Url解析与验证电话号码-www.jb200.com</title>
<link rel="stylesheet" type="text/css" href="">
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script type="text/javascript">
//url 解析 http://www.jb200.com:8080/abc/index.htm
function test(){
var inp=document.getElementById("inp").value;
//var regExp=/^(http):(//)(www)([a-zA-Z0-9.]+):[0-9]+([a-zA-Z/])*(htm|html)$/i;
var regExp=/^(http):(//)(w)33.([a-zA-Z0-9]+).[a-z]+(.)?[a-z]+:[0-9]+/([a-zA-Z])*(/)?[a-zA-Z/]+.(htm|html)$/gi;
if(regExp.test(inp)){
window.alert("是");
}else{
window.alert("不是");
}
/* var res=regExp.exec(inp)
for(var i=0; i<res.length;i++){
window.alert(res[i]);
}
*/
}
function test2(){
var inp=document.getElementById("inp2").value;
//验证电话号码 与加区号和不加区号
//var regExp=/^(d{3,4}?-|(d{3,4}))?d{8,11}$/;
//验证手机号码 11位或者12位
//var regExp=/^(0)?(13)d{9,9}$/;
//var regExp=/^(((d{3,4}?-|(d{3,4}))?)|(0)?)d{8,11}$/;
var regExp=/^((d{3,4}?-|(d{3,4}))?d{8,11}$)|(^0{0,1}13[0-9]{9}$)/;
if(regExp.test(inp)){
window.alert("正确的电话号码");
}else{
window.alert("错误的电话号码");
}
}
</script>
</head>
<body>
<input id="inp" style="width:300px" type="text" /><input type="button" value="验证url" onclick="test()"><br/>
<input id="inp2" style="width:300px" type="text" /><input type="button" value="验证电话号码" onclick="test2()"><br/>
</body>
</html>