首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >验证密码字段是否包含特殊字符

问验证密码字段是否包含特殊字符
EN

Stack Overflow用户
提问于 2014-10-09 18:41:35
回答 1查看 3.5K关注 0票数 0

此代码检查输入的密码是否包含至少8个字符。我想检查密码是否有特殊字符。如果没有特殊字符,则必须提示用户输入特殊字符和数字。Jquery代码是:

代码语言:javascript
复制
jQuery(document).ready(function () {
    jQuery("#changePasswordForm").validate({
        rules: {
            oldPassword: {
                required: true
            },
            password: {
                required: true,
                minlength: 8
            },
            password2: {
                required: true,
                equalTo: "#password1", minlength: 8
            }
        }
    });
});
jQuery.extend(jQuery.validator.messages, {
    required: "<span>This field is required.</span>",
    equalTo: "<span>Please enter the same value again.</span>",
    minlength: jQuery.validator.format("<span>Please enter at least {0} characters.</span>")
});
EN

回答 1

Stack Overflow用户

发布于 2014-10-09 19:07:34

要检查字符串是否包含某个字符,可以使用正则表达式。通过使用regExp,您还可以选择接受哪些特殊字符。

您可以将正则表达式调整为变量

代码语言:javascript
复制
var regExp = /[*listofyourspecialcharacters*]/;

或者您可以直接使用它

代码语言:javascript
复制
/[*listofyourspecialcharacters*]/.test(*yourstring*);

测试方法搜索作为参数给定的字符串,如果正则表达式匹配,则返回true,即当找到特殊字符时返回false。

因此,只要用户点击确认按钮或输入字段的值发生变化,您就可以轻松地检查用户的输入。

例如:

代码语言:javascript
复制
$("#acceptButton").click(function(){
     var regExp = /[_\-!\"@;,.:]/;
     if(!regExp.test($('#password1').val())){
         *askForNewPassword();*
     } else {
         *carry on()*;
     }
};

编辑: reg exp中的左方括号和右方括号('','')不是检查字符串所依据的字符的一部分。它们只保存您要使用的字符列表。如果你想使用它们,你需要使用转义符号:

代码语言:javascript
复制
var regExp = /[;:_\-!@\"\]\[]/;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26276366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档