检查密码是否仅包含字母,数字和一些额外字符

时间:2014-06-14 17:24:43

标签: javascript regex

我正在尝试检查密码是否只包含字母,数字和仅包含这些字符:

~ _ & * % @ $

我使用正则表达式如下。但它没有按预期工作:

var checkPassWordCharacters=/[a-zA-Z0-9~_&*%@$]$/;
if(checkPassWordCharacters.test(password)){
    //do Something
}

我做错了什么,我该如何解决?

2 个答案:

答案 0 :(得分:1)

您的正则表达式应为/^[a-zA-Z0-9~_&*%@$]+$/以匹配以下格式的字符串:

  • 字符串的开头
  • 任意数量的指定字符(在[]括号中)(不包括0个字符)
  • 字符串结尾

你的正则表达式会匹配这个:

  • 任何数量的任何角色
  • 指定字符之一(仅1个字符)
  • 字符串结尾

答案 1 :(得分:0)

你的正则表达式应该是/^[a-zA-Z0-9~_&*%@$]*$/, 因为根据您的要求,允许空密码。这里的星号(*)允许您接受空密码。