【发布时间】:2017-12-25 06:46:24
【问题描述】:
到目前为止我做了什么?
我已经创建了这个正则表达式
/[.*a-z][*\w*\W]{5,}/i
应该执行以下操作:
-
[.*a-z]:至少搜索一个字母。 -
*\w:搜索零个或多个单词字符(a-z、A-Z、0-9,包括 _(下划线)。 -
*\W:搜索零个或多个非单词字符(+-= 等)。 -
{5, }:搜索[*\w*\W]是否至少有 5 个字符,[.*a-z]会查找至少一个字符,组合起来总共有 6 个字符。 -
/i:搜索小写和大写。
有什么问题?
我希望上面的正则表达式接受一个字符串,该字符串在字符串中的任何位置至少包含一个字母,但它仅在该字母包含在开头时才有效。为什么 ?例如:字符串y12345 有效,但字符串123y45 无效。由于我的正则表达式不包含插入符号 (^),但它的行为似乎就像在我的原始正则表达式的开头存在插入符号 (^)。像这样/^[.*a-z][*\w*\W]{5,}/i
我也想知道这是否是密码的完美正则表达式?
非常感谢您抽出宝贵的时间。
【问题讨论】:
-
试试这个
/[a-zA-Z]/g.test(str) && str.length > 6,其中str是你的字符串的名字。 -
我这样做了
/[.*a-z][*\w*\W]{5,}/ig,但这仍然不起作用。 -
您的正则表达式不适用于
78s234 -
@SherylHohman 我正在使用它看看regex101.com/r/Tl2sVZ/1
-
密码的“完美”正则表达式应该是一个单独的问题。或者更确切地说是单独的谷歌搜索。此外,答案取决于您的密码要求(即您告诉用户他们必须满足哪些限制)。我当然说
6的密码长度不是对密码的完美要求,也不是完美的正则表达式。
标签: javascript regex