带有自定义消息的jquery正则表达式

时间:2009-12-10 05:12:50

标签: jquery regex jquery-validate

我需要使用jquery在我的asp.net mvc(C#)应用程序中实现一个正则表达式。

我有一个登录表单,我需要使用必需的正则表达式验证字段。

更清楚地说,我的登录表单中包含UsernamePassword字段。我需要首先根据需要进行验证,如果用户输入了任何值,那么我需要使用正则表达式进行验证。

例如:如果输入的值无效,则Username必须至少包含5个字符且无特殊字符。应该说Please enter a valid Username with atleast 5 characters and no special characters

密码必须至少5个字符且至少1个特殊字符,1个数字,如果输入的值无效,则应说Please enter a valid password with atleast 5 characters and should contain one numer and special character

所以我需要为每个字段提供自定义消息,以便进行必要和正则表达。

是否有常用的插件或函数用于jquery中的正则表达式?

3 个答案:

答案 0 :(得分:2)

用户名:

/^\w{5,}$/五个或更多单词字符(a-z,A-Z,0-9和下划线)

密码:

/^(?=.*\d)(?=.*[a-z])(?=_|\W).{5,}$/i一串至少五个字符,最少一位,一个字母(不区分大小写)和一个特殊字符。

答案 1 :(得分:1)

你不在jQuery中做正则表达式。它内置于JavaScript本身。当然,jQuery的验证插件使用正则表达式。

退房:http://docs.jquery.com/Plugins/Validation

如果不验证,大多数插件都会让您输入要显示的自定义消息。

答案 2 :(得分:1)

在SO中找到一个常见的直接方法实现:

$.validator.addMethod(
    "regex",
    function(value, element, regexp) {
        if (regexp.constructor != RegExp)
            regexp = new RegExp(regexp);
        else if (regexp.global)
            regexp.lastIndex = 0;
        return this.optional(element) || regexp.test(value);
    },
    "Please check your input.");

可以用作:

        $('#signinForm').validate({
            rules: {
                Username: {
                    required: true,
                    regex: "YOURREGULAREXPRESSION"
                }
            },
            messages: {
                Username: {
                    required: "Enter the Username",
                    regex: "Enter the valid Username"
                }
            }
        });

因此,我们可以使用自定义消息进行尽可能多的自定义验证(正则表达式)。