【问题标题】:using the jquery validation plugin, how can I add a regex validation on a textbox?使用 jquery 验证插件,如何在文本框上添加正则表达式验证?
【发布时间】:2010-11-06 10:04:20
【问题描述】:

我正在使用来自 http://bassistance.de/jquery-plugins/jquery-plugin-validation/ 的 jquery 验证插件

如何在特定文本框上添加正则表达式检查?

我想检查以确保输入是字母数字。

【问题讨论】:

标签: javascript jquery regex validation


【解决方案1】:

定义一个新的验证函数,并在要验证的字段的规则中使用它:

$(function ()
{
    $.validator.addMethod("loginRegex", function(value, element) {
        return this.optional(element) || /^[a-z0-9\-]+$/i.test(value);
    }, "Username must contain only letters, numbers, or dashes.");

    $("#signupForm").validate({
        rules: {
            "login": {
                required: true,
                loginRegex: true,
            }
        },
        messages: {
            "login": {
                required: "You must enter a login name",
                loginRegex: "Login format not valid"
            }
        }
    });
});

【讨论】:

  • 注意:addmethod 不需要进入 document.ready,也可以立即加载,腾出 document.ready 用于需要进入的内容。
  • 如果值不是字母数字则显示特定的错误消息,如果它不在最小/最大长度之间,则需要更改什么?
  • @Cofey - 我实际上并没有验证(双关语)这是有效的,但我使用docs.jquery.com/Plugins/Validation/validate#options的文档更新了示例以使用自定义错误消息
【解决方案2】:

不熟悉 jQuery 验证插件,但这样的东西应该可以解决问题:

var alNumRegex = /^([a-zA-Z0-9]+)$/; //only letters and numbers
if(alNumRegex.test($('#myTextbox').val())) {
    alert("value of myTextbox is an alphanumeric string");
}

【讨论】:

  • @karmin79:感谢优雅的解决方案。只是一件小事,您在“{”之前缺少一个“)”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-28
  • 2011-03-10
  • 2010-09-21
  • 1970-01-01
  • 2012-04-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多