JQuery自动完成Ajax验证特殊字符

标签 jquery jquery-autocomplete

我想验证在自动完成框中输入的特殊字符,例如!@#$%^&*(),并可能给出一条警告框消息“请输入有效名称”。以下是我的片段:

$("#txtName").autocomplete({
    source: function (request, response) {
        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: "Webservice.asmx/GetNames",
            data: "{'prefixText':'" + request.term + "'}",
            dataType: "json",
            success: function (data) {
                response($.map(data.d, function (item) {
                    return {
                        label: item.split('|')[0],
                        val: item.split('|')[1]
                    }
                }))
            },
            error: function (result) {
                ServiceFailed(result);
            },
            failure: function (response) {
                ServiceFailed(result);
            }
        });
    },
    select: function (event, ui) {
        autoName(ui.item.val, ui.item.label);
    },
    minLength: 4
}).data("autocomplete")._renderItem = function (ul, item) {
    var newText = String(item.value).replace(
            new RegExp(this.term, "gi"),
            "<span class='ui-state-highlight'>$&</span>");
    return $("<li></li>")
        .data("item.autocomplete", item)
        .append("<a>" + newText + "</a>")
        .appendTo(ul);
}

任何帮助将不胜感激。

提前致谢

最佳答案

请参阅 blocking special characters 上的此问题在文本框中。

您可以在发送请求之前设置验证。而不是设置一个完整的验证插件,它可以在 keypress

上完成所有操作
$.ajax({  
    url : url, //blah blah
    beforeSend : function(){
      if(!validateChars()){
        return false;
      }
    }
});

您可以通过 stripping out special characters 发送请求而不是阻塞。 (更加用户友好)

var alowedChars = stringToReplace.replace(/[^\w\s]/gi, '')

粘贴相关代码供引用

关于JQuery自动完成Ajax验证特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11861877/

相关文章:

javascript - 使用 Array.push() 函数从 Ajax 数据形成 JSON 时出现问题。形成的 JSON 无法使用 jQuery 填充 tbody

jquery 自动完成填充另一个字段

c# - 用于特定搜索功能的服务器端缓存 JQuery 自动完成

JavascriptMVC:监听包装 Controller 中实例化 Controller 的事件

javascript - jQuery 动画 scrollTop 与 requestAnimationFrame - 性能

asp.net - 当单选按钮运行在 ="server"时,用 jQuery 检查单选按钮?

javascript - jquery 自动完成功能在 ajax 选项卡中不起作用

jquery - 如何判断插入符是否在 H1 标签内?

jquery - 如何操作jquery自动完成插件来获取id和值

javascript - jQuery Autocomplete 插件 - 如何动态更新数据列表?