heartstill

博客园 首页 新随笔 联系 订阅 管理

用js正则表达式过滤双引号的解决办法

分类: JavaScript 2867人阅读 评论(2) 收藏 举报

今天碰到一个问题,需要用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浏览器的测试。希望对以后遇到此类似问题的朋友有所帮助。

posted on 2011-11-11 13:06  开始测试  阅读(6450)  评论(1编辑  收藏  举报