首页 > 解决方案 > 语义 UI:使用正则表达式进行密码验证

问题描述

我正在尝试使用正则表达式在语义 UI 中编写密码验证规则。验证规则应符合以下要求:

  1. 密码不能包含&符号
  2. 允许的密码特殊字符是:!@#$%*-_=+

我写的规则如下:

{
    type   : 'regExp[/^[a-zA-Z0-9!@#$%*-_=+]*[^&]*$/]',
    prompt : 'Please enter appropriate password'
}

即使在密码中使用后,它也不会触发提示消息&,这不应该发生。

标签: regexsemantic-ui

解决方案


查看 Semantic UI 页面,如果密码无效,似乎应该触发规则,其中包含非法字符。给定的正则表达式旨在匹配有效密码:

type   : 'regExp[/^[a-zA-Z0-9!@#$%*-_=+]*[^&]*$/]',

(它不会完全这样做,但这似乎是你的目标。)

我们想要做的是匹配任何单个非法字符

type   : 'regExp[/[^-a-zA-Z0-9!@#$%*_=+]/]',

如果密码有效,则正则表达式将失败并且不会触发规则。如果有任何非法字符,正则表达式将匹配并激活规则。

连字符已移至开头以避免形成意外范围。


推荐阅读