如何检查输入值是否是html编码的

问题描述 投票:0回答:2

有什么方法可以检查文本框值是否已经经过 html 编码。

对于页面验证,我使用以下代码将焦点移出文本框。

    $(document).ready(function() {
        $('#txtLink').focusout(function(){
            $('#txtLink').val(htmlEncode($('#txtLink').text()));
        });
    });
    function htmlEncode(value){
        if (value) {
            return jQuery('<div />').text(value).html();
        } 
        else {
            return '';
        }
    }

    function htmlDecode(value) {
        if (value) {
            return $('<div />').html(value).text();
        } 
        else {
            return '';
        }
    }

对于文本框之外的每个焦点或 alt+tab 到其他窗口等...文本会进行多次编码。 需要一些建议。

提前致谢

jquery html-encode
2个回答
0
投票

我认为您混淆了客户端和服务器端的工作。当您在服务器端设置恰好包含 HTML 实体的元素的 val 时,您必须对其进行编码,因为它需要知道所有文本都是值的一部分,而不是新标记。当客户端时,您只需设置该值即可,例如

$('#txtLink').val('<div>Hello <span>World</span></div>')
设置或检索(或发布)无需编码/解码


0
投票
ICYMI,我们已将每周上限提高至$1,000!您现在可以积累更多的保障和投资,并赚取更多的现金返还!

专供选定的 SNACK 用户,从即日起至 2023 年 10 月 8 日,支付总保费^可享受高达 10% 现金返还*

© www.soinside.com 2019 - 2024. All rights reserved.