
最近收到一个项目. 该项目需要使用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浏览器测试. 希望以后能帮助遇到类似问题的朋友.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-196325-1.html
我不追星