9

我的网站上安装了 jQuery 验证插件 (http://docs.jquery.com/Plugins/Validation)。

我正在使用此代码来验证文本字段中的字母数字,并且它有效。但它不允许空格和破折号 (-)。

$.validator.addMethod("titleAlphaNum", function(value, element, param) 
{
return value.match(new RegExp("^" + param + "$"));
}); 

如何使它与空间和破折号一起使用?谢谢。

4

2 回答 2

27

工作演示 http://jsfiddle.net/cAADx/

/^[a-z0-9\-\s]+$/i应该做的伎俩!

g = /g 修饰符确保所有出现的“替换”

i = /i 使正则表达式匹配不区分大小写。

好读: http ://www.regular-expressions.info/javascript.html

希望这可以帮助,

代码

$(function() {

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

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

});​

将在 2 分钟内删除此图像,请参阅此处的 robert,如下所示http://jsfiddle.net/5ykup/

在此处输入图像描述

于 2012-07-04T10:17:26.070 回答
1

我认为如果您将以下 RegExp 传递为param

[A-za-z0-9_\-\s]+
于 2012-07-04T10:14:33.497 回答