用js正则表达式过滤双引号的解决办法
今天碰到一个问题,需要用js的正则表达式过滤掉页面文本域中值的双引号,具体的解决代码如下:
<html>
<script language="javascript">
//var pattern = /[^"]*/; //校验字符串中是否都是非双引号的字符
var pattern = /["]+/; //校验字符串中是否有双引号的字符
//var pattern = /["][^"]*["]/ //匹配的是位于单引号或者双引号之内的0个或多个字符
var value1 = "The best things in life are free"; //没有双引号的字符串
var value2 = "/"/"The /"best things /"in life are free/"/""; //有双引号的字符串
alert("value1没有双引号的字符串 pattern.exec_1===" + pattern.exec(value1)); //null
alert("value1没有双引号的字符串 !pattern.exec_2===" + !pattern.exec(value1)); //true
alert("value2有双引号的字符串 pattern.exec_1===" + pattern.exec(value2)); //""
alert("value2有双引号的字符串 !pattern.exec_2===" + !pattern.exec(value2)); //false
if(pattern.exec(value1)){ //校验字符串中是否都是非双引号的字符
alert("value1 没有加非号 ++++++双引号被匹配上");
}
if(!pattern.exec(value1)){ //校验字符串中是否有双引号的字符
alert("value1 有加非号 ++++++双引号被匹配上"); //页面窗口弹出
}
if(pattern.exec(value2)){ //校验字符串中是否都是非双引号的字符
alert("value2 没有加非号 ++++++双引号被匹配上"); //页面窗口弹出
}
if(!pattern.exec(value2)){ //校验字符串中是否有双引号的字符
alert("value2 有加非号 ++++++双引号被匹配上");
}
</script>
</html>
以上代码经过IE8浏览器的测试。希望对以后遇到此类似问题的朋友有所帮助。