微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery验证插件 – 密码检查 – 最低要求 – 正则表达式

我的密码检查器有一点问题.

有一些注册表格有一些字段.
我使用jQuery验证插件来验证用户输入.

除了密码验证,它一切正常工作:

密码应符合以下最低要求:

>最小长度:8 – >我只是使用’minlength:8′
>至少一个小写字符
>至少一位数字
>允许的字符:A-Z a-z 0-9 @ * _ – . !

目前我使用这段代码验证密码:

$.validator.addMethod("pwcheck",function(value,element) {
   return /^[A-Za-z0-9\d=!\-@._*]+$/.test(value);
});

代码适用于允许的字符,但不适用于最低要求.
我知道您可以使用例如(?=.* [a-z])作为小写的要求.但我只是不能让它工作.

如果我添加(?=.* [a-z])整个代码不再工作了.我需要知道如何正确地将代码添加到现有的代码中.

谢谢你的答案!

这是完整的代码

<script>
                $(function() {
                    $("#regform").validate({
                        rules: {
                            forename: {
                                required: true
                            },surname: {
                                required: true
                            },username: {
                                required: true
                            },password: {
                                required: true,pwcheck: true,minlength: 8
                            },password2: {
                                required: true,equalTo: "#password"
                            },mail1: {
                                required: true,email: true
                            },mail2: {
                                required: true,equalTo: "#mail1"
                            }
                        },messages: {
                            forename: {
                                required: "Vornamen angeben"
                            },surname: {
                                required: "Nachnamen angeben"
                            },username: {
                                required: "Usernamen angeben"
                            },password: {
                                required: "Passwort angeben",pwcheck: "Das Passwort entspricht nicht den Kriterien!",minlength: "Das Passwort entspricht nicht den Kriterien!"
                            },password2: {
                                required: "Passwort wiederholen",equalTo: "Die Passwörter stimmen nicht überein"
                            },mail1: {
                                required: "Mail-Adresse angeben",email: "ungültiges mail-format"
                            },mail2: {
                                required: "Mail-Adresse wiederholen",equalTo: "Die Mail-Adressen stimmen nicht überein"
                            }
                        }
                    });

                    $.validator.addMethod("pwcheck",element) {
                            return /^[A-Za-z0-9\d=!\-@._*]+$/.test(value);
                    });
                });
                </script>

解决方法

If I add (?=.*[a-z]) the whole code doesn’t work anymore.

在这里添加

/^(?=.*[a-z])[A-Za-z0-9\d=!\-@._*]+$/

但是,没有一个前瞻性就会更容易做到这一点:

$.validator.addMethod("pwcheck",function(value) {
   return /^[A-Za-z0-9\d=!\-@._*]*$/.test(value) // consists of only these
       && /[a-z]/.test(value) // has a lowercase letter
       && /\d/.test(value) // has a digit
});

原文地址:https://www.jb51.cc/jquery/176522.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐