【问题标题】:Regex Pattern to allow alphabets ignoring case sensitivity正则表达式模式允许忽略大小写的字母
【发布时间】:2020-01-13 21:49:03
【问题描述】:

在注册期间有一个正则表达式模式的密码。要求是“使用 8 个或更多字符,混合字母、数字和符号”

具有适用于上述要求的正则表达式,目前正则表达式模式至少检查不需要的大写字母。不论大小写,只应出现字母。在我下面的显示正则表达式模式中应该修改什么。

<f:validateRegex pattern="((?=.*\d)(?=.*[a-z])(?=.*[@#$%]).{8,15})"/>

我已经搜索了各种博客以获取具体的解决方案,但没有满足确切的需求。唯一的结论是使用 /i 忽略大小写。由于我对正则表达式的构建不满意并且过去没有工作过,所以想要进行修改以呈现正则表达式。

【问题讨论】:

  • 使用[a-zA-Z] 不区分大小写地匹配字母。

标签: regex regex-lookarounds regex-negation regex-group regex-greedy


【解决方案1】:

如果上述模式区分大小写(看起来它必须包含小写的az),请尝试将A-Z 添加到a-z 模式。

即:

<f:validateRegex pattern="((?=.*\d)(?=.*[a-zA-Z])(?=.*[@#$%]).{8,15})"/>

【讨论】:

  • 以上修改仍然无效,它检查至少一个大写字母。 abc@123456 不起作用,而 aBc@123456 起作用。想让 abc@123456 也能工作
  • 很难说不知道语言或它是如何使用的,但这里有一个带有jsfiddle的JavaScript示例
  • 这是在 JS 中使用的: var regex = /(?=^.{8,15}$)(?=.*\d)(?=.*[a-zA -Z])(?=.*[!@#$%^&*()_+}{":;'?/>.<,])(?!.*\s).* $/;
  • 那个正在更新的jsfiddle 中工作。你能检查一下小提琴,看看我放在一起的例子是否代表你正在尝试做的事情?或者你可以创建自己的小提琴来显示它失败了吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-28
  • 2023-03-11
  • 1970-01-01
相关资源
最近更新 更多