最近接了一个项目,项目需求需要用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浏览器的测试。希望对以后遇到此类似问题的朋友有所帮助。