javascript - jQuery 验证未按预期工作

标签 javascript jquery regex

下面是我的正则表达式方法。

 $.validator.addMethod("regex", function (element, value, regexp) {
        var re = new RegExp(regexp);
        return this.optional(element) || re.test(value);
    }, "Special Characters not permitted");

下面是我的规则

var rules = {
    cname: {
        required: true,
        minlength: 8
        //alphanumeric:true
        //regex: "/^\w+$/i"
        //uniqueCompnameName: true
    }
}

当我将正则表达式传递给 regex 时,它根本不起作用。

最佳答案

尝试使用正则表达式而不是字符串来传递正则表达式

$.validator.addMethod("regexp", function (value, element, regexp) {
    if (typeof regexp == 'string') {
        regexp = new RegExp(regexp);
    }
    return this.optional(element) || regexp.test(value);
}, "Special Characters not permitted");

然后

        name1: {
            required: true,
            regexp: '/^\w+$/'
        },
        name2: {
            required: true,
            regexp: /^\w+$/i
        }

演示:Fiddle

关于javascript - jQuery 验证未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23631487/

相关文章:

javascript - JavaScript 中的隐私

javascript - 如何调用 jQuery 函数以便它在 document.ready 函数中运行?

regex - 在 Perl 中替换特定的捕获组而不是整个正则表达式

java - 在 Scanner.useDelimiter() 中使用正则表达式时出现额外的空白

javascript - YouTube:点击按钮即可播放YouTube视频

javascript - 合并两个对象并重命名相同的属性

javascript - 在客户端裁剪图像

javascript - 使用 RegExp 函数 javascript 替换包含反斜杠的子字符串

javascript - 试图在我的 javascript 代码中理解 "this"(一件事有效,另一件事无效)

带有 "this"的 JavaScript 类和事件处理程序