含有变量的正则表达式使用方法
2009-06-25 17:30
676 查看
我们在写js的时候,很多时候使用到正则表达式都是直接使用类似于 /xxxx/ig的简写格式,可是这种方式xxxx是不能接受变量的。如果xxxx是变量,会动态改变,我们就需要使用new RegExp()来得到一个正则表达式对象了。
例如:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>阿当制作</title>
</head>
<body>
<script type="text/javascript">
var a = "xyz",b="123",c="ab23";
var d = new RegExp(a+"|"+b+"|"+c,"ig");
var e;
e = "---XYZ---ab23---123".replace(d,"ok");
alert(e);
</script>
</body>
</html>
结果可以得到我们想要的"---ok---ok---ok"。
================================================
再来个稍复杂一点的。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>阿当制作</title>
</head>
<body>
<script type="text/javascript">
var url = "http://www.baidu.com?name=adang&sex=mail&address=beijing";
function replace(varname,varvalue){
if(new RegExp(varname+"=.*&").test(url)){
url = url.replace(new RegExp(varname+"=.*?&","g"),varname+"="+varvalue+"&");
} else if(new RegExp(varname+"=.*$").test(url)){
url = url.replace(new RegExp(varname+"=.*$","g"),varname+"="+varvalue);
}
}
replace("name","cly");
replace("sex","femail");
replace("address","shanghai");
alert(url);
</script>
</body>
</html>
例如:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>阿当制作</title>
</head>
<body>
<script type="text/javascript">
var a = "xyz",b="123",c="ab23";
var d = new RegExp(a+"|"+b+"|"+c,"ig");
var e;
e = "---XYZ---ab23---123".replace(d,"ok");
alert(e);
</script>
</body>
</html>
结果可以得到我们想要的"---ok---ok---ok"。
================================================
再来个稍复杂一点的。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>阿当制作</title>
</head>
<body>
<script type="text/javascript">
var url = "http://www.baidu.com?name=adang&sex=mail&address=beijing";
function replace(varname,varvalue){
if(new RegExp(varname+"=.*&").test(url)){
url = url.replace(new RegExp(varname+"=.*?&","g"),varname+"="+varvalue+"&");
} else if(new RegExp(varname+"=.*$").test(url)){
url = url.replace(new RegExp(varname+"=.*$","g"),varname+"="+varvalue);
}
}
replace("name","cly");
replace("sex","femail");
replace("address","shanghai");
alert(url);
</script>
</body>
</html>
相关文章推荐
- 含有变量的正则表达式使用方法
- JS字符串替换函数全部替换方法 JS 正则表达式如何使用变量
- JS字符串替换函数全部替换方法 JS 正则表达式如何使用变量
- Java中正则表达式使用方法详解
- AS3关于使用正则表达式检测、匹配、替换文本中的url的方法
- php使用正则表达式进行字符串搜索的方法
- Java中正则表达式使用方法详解
- Jmeter正则表达式提取器的使用方法(转)
- 正则表达式学习笔记(一)——使用正则表达式的分析方法
- JavaScript 1.10 RegExp类型—正则表达式的使用方法(部分转载)
- 正则表达式在java编程中的使用方法
- Delphi正则表达式使用方法(TPerlRegEx)
- MySql中正则表达式的使用方法描述
- JS正则表达式-test()方法的使用
- Java使用正则表达式匹配获取链接地址的方法示例
- Java使用正则表达式删除所有HTML标签的方法示例
- [Python] re(正则表达式) 模块使用方法
- 简述JavaScript的正则表达式中test()方法的使用
- java使用正则表达式方法和正则表达式大全
- php使用正则表达式获取图片url的方法