我需要制作一个密码模式验证器
密码应具有:
我发现了这个正则表达式模式:
Validators.pattern('/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d!$%@#£€*?&]')
然而,验证器总是声称我的输入无效
errors:
pattern:
actualValue: "Test1234"
requiredPattern: "^/^(?=.*[A-Za-z])(?=.*d)[A-Za-zd!$%@#£€*?&]$"
根据 https://regex101.com/r/AfAdKp/1 此值应该是有效的。
编辑:澄清一下,Test1234应该可以工作
您必须添加限定符[A-Za-z\d!$%@#€*?
Validators.pattern('^(?=.*[A-Z])(?=.*[a-z])(?=.*\\d)[A-Za-z\\d!$%@#£€*?&]{8,}$')
<代码>^(? =. *[A-Z])(? =.*[a-z])(? =.*\d)[A-Za-z\d! $%@#£€*?
^
字符串开头的断言位置
(?=.*[A-Z])
正面的展望,以断言接下来是一个大写字符 (?=.*[a-z])
正面的展望,以断言接下来是一个小写字符 (?=.*\d)
正面的展望,以断言接下来的内容是一个数字 [A-Za-z\d!$%@##€*?
const strings = [
"A88888jf",
"Aa88888jf",
"Aa888jf",
"AAAAAAAAAAA",
"aaaaaaaaaaaaaa",
"2222222222222222",
"1sAdfe44",
"$#fd#######"
];
let pattern = /^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)[A-Za-z\d!$%@#£€*?&]{8,}$/;
strings.forEach((s) => {
console.log(s + " ==> " + pattern.test(s));
});
您当前的正则表达式有多个问题:
Validators.pattern
不需要分隔符,但您在开始时抛出了一个你需要的是:
Validators.pattern('^(?=[^A-Z]*[A-Z])(?=[^a-z]*[a-z])(?=\\D*\\d)[A-Za-z\\d!$%@#£€*?&]{8,}$');
在此处查看实时演示
要求: 在我的角度应用程序中,用户密码应符合以下要求, < li >最少八个字符 < li >至少一个大写字母 < li >至少一个小写字母 < li >至少一个号码 < li >至少一个特殊字符 问题: 对于上述要求,我使用下面的正则表达式。 前任:1F4@sf5s6,18F4@sf5s6 问题: Q1:这个正则表达式不符合我的要求吗? Q2:如何解决这个问题? Q3:有没有其他方法来实现这个要
我在angular中创建了一个表单,要求名称字段只包含字母数字字符和空格。为此,我使用了模式属性: 并且我有以下错误消息,我想在字符串不匹配时显示: 然而,即使字符串应该与正则表达式匹配,我仍然可以看到错误消息。有什么想法吗?
在我的rails应用程序中,我想验证包含任意数量关键字的字符串字段上的输入(可以是多个自然语言单词(例如“文档编号”)。为了识别各个关键字,我输入它们,以“,”分隔(或以字符串结尾获取它们的结尾)。 为此我用 它应该允许属性关键字(字符串)包含:“word1、word2、word3 word4、word5-word6” 它不允许使用任何其他模式。e、 g.非“word1;word2;”它确实错误地
我需要检查密码是否至少包含: 一个号码 一个小写字符 一个大写字符 一个特殊符号(.,@etc) 我在C#中有以下内容: 但这并不有效: 我错过了什么? 更新 我正在将其与系统.组件模型.数据注释一起使用来验证模型属性:
主要内容:标签属性,JSF验证整数范围实例标签用于将字符串值验证为所需格式。 以下代码显示如何使用标记。 标签属性 属性 说明 pattern 格式化模式 JSF验证整数范围实例 打开 NetBeans IDE 创建一个Web工程:ValidateRegularExpression,其目录结构如下所示 - 创建以下文件代码,文件:index.xhtml 的代码内容如下所示 - 文件:result.xhtml 的代码内容如下所示 - 文件:
我有以下用于javascript密码验证的正则表达式: 正则表达式规则是: 12-25个字符 至少有一个大写字母 至少有一个小写字母 至少有一个数字 至少有一个特殊字符:!#$%()*,-./:;=?@[]^ `{124;}~ 然而,正则表达式似乎不起作用。它匹配任何字符。我该怎么解决这个问题?