正则表达式过滤掉html中input type=“text”的标签,value值不过滤

笑脸儿 2014-03-04 03:55:14
正则表达式过滤掉html中input type=“text”的标签,value值不过滤。

或者将input type=“text”的标签替换成label也可以。最终想要的结果就是把input中的值提取出来显示就ok了,input标签去掉。
...全文
454 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
scscms太阳光 2014-03-06
  • 打赏
  • 举报
回复
<div id="scs">
    abd<input type="radio" value="1" name="a" />文本<input value="A" type="text" name="a" />abdsc <input type='text' name="b" value="B" />功能开发中……
    <input name=c  type=text value="C" />其他可能没有值哦<input name=d  type="text" />
</div>
<script type="text/javascript">
    window.onload = function(){
        var html = document.getElementById("scs").innerHTML;
        html=html.replace(/<input [^>]*type=[\'\"]text[\'\" ][^>]*>/gi,function(a){
            var v = a.match(/value="([^\"])"/);
            return "<span style='color:red'>"+(v?v[1]:"")+"</span>";
        });
        document.getElementById("scs").innerHTML=html;
    }
</script>
笑脸儿 2014-03-06
  • 打赏
  • 举报
回复
引用 5 楼 xzy21com 的回复:
<div id="scs">
    abd<input type="radio" value="1" name="a" />文本<input value="A" type="text" name="a" />abdsc <input type='text' name="b" value="B" />功能开发中……
    <input name=c  type=text value="C" />其他可能没有值哦<input name=d  type="text" />
</div>
<script type="text/javascript">
    window.onload = function(){
        var html = document.getElementById("scs").innerHTML;
        html=html.replace(/<input [^>]*type=[\'\"]text[\'\" ][^>]*>/gi,function(a){
            var v = a.match(/value="([^\"])"/);
            return "<span style='color:red'>"+(v?v[1]:"")+"</span>";
        });
        document.getElementById("scs").innerHTML=html;
    }
</script>
问题解决了,这个方法很不错呦!谢谢喽!最终通过后台解决的。
笑脸儿 2014-03-06
  • 打赏
  • 举报
回复
引用 4 楼 u011497412 的回复:
[quote=引用 1 楼 u013608453 的回复:] 方法一(推荐): 用DOM去过滤 方法二: 你直接把 <input 换成 <label 就可以了,多于的html不需要去管。 方法三: 正则替换<input.*value=['"](.[^'"]+).+>为$1 <--这个正则也不是100%正确。能满足大部分
我试过方法二,但是<input 换成<label 这样之后会变成<label value="1"/>这样子不正确。 方法一DOM过滤能否具体些呢?[/quote] 问题解决了,这个方法很不错呦!谢谢喽!最终通过后台解决的。
笑脸儿 2014-03-05
  • 打赏
  • 举报
回复
引用 1 楼 u013608453 的回复:
方法一(推荐): 用DOM去过滤 方法二: 你直接把 <input 换成 <label 就可以了,多于的html不需要去管。 方法三: 正则替换<input.*value=['"](.[^'"]+).+>为$1 <--这个正则也不是100%正确。能满足大部分
我试过方法二,但是<input 换成<label 这样之后会变成<label value="1"/>这样子不正确。 方法一DOM过滤能否具体些呢?
笑脸儿 2014-03-05
  • 打赏
  • 举报
回复
我试过方法二,但是<input 换成<label 这样之后会变成<label value="1"/>这样子不正确。 方法一DOM过滤能否具体些呢?
big_shot 2014-03-04
  • 打赏
  • 举报
回复
有答案了,帮你顶下,赚点分数,O(∩_∩)O~
jorkin_me 2014-03-04
  • 打赏
  • 举报
回复
方法一(推荐): 用DOM去过滤 方法二: 你直接把 <input 换成 <label 就可以了,多于的html不需要去管。 方法三: 正则替换<input.*value=['"](.[^'"]+).+>为$1 <--这个正则也不是100%正确。能满足大部分

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧