使用javascript检查输入字段文本框中的多个单词

时间:2017-04-13 08:20:58

标签: javascript c# asp.net xml umbraco

我有文本框输入字段,我必须检查多个单词。我能够检查单个单词,但无法检查多个单词。单词列表存储在xml中,我必须检查。需要帮忙。 这里MyName是输入字段ID,lblMyName是标签ID。

           if ($("#MyName").val() != '') {
                $.ajax({
                    type: "GET",
                    url: "Xml/Badwords.xml",
                    dataType: "xml",
                    success: function (xml) {

                        $(xml).find('Badwords').each(function () {

                             var flag = true;

                            $(this).children().each(function () {

                                var tagName = this.tagName;
                                var val = $(this).text();

         if (val.toLowerCase() == $("#MyName").val().toLowerCase())                       {
                                    $("#lblMyName").css("display", "block");

                                    $("#lblMyName").text("Please refrain from using profanity.");
                                    $(".postermyname").text('My Name);
                                     flag = false;
                                    return false;                                                                       

                                }

1 个答案:

答案 0 :(得分:1)

您必须在字边界上拆分输入值,然后将其与“坏”"进行比较。词语的

请注意,亵渎过滤器通常是一个非常糟糕的主意,并且通常会导致比他们解决的问题更多的问题

if ( $("#MyName").val().trim() != '' ) {
    $.ajax({
        type: "GET",
        url: "Xml/Badwords.xml",
        dataType: "xml",
        success: function(xml) {

            var input = $("#MyName").val().toLowerCase().split(/\b/),
                flag  = true;

            $(xml).find('Badwords').each(function() {
                $(this).children().each(function() {
                    var val = $(this).text().toLowerCase;

                    if (input.indexOf(val) !== -1) {
                        $("#lblMyName").css("display", "block")
                                       .text("Please refrain from using profanity.");
                        flag = false;
                    }
                });
            });
        });
    });
}