- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我找到了这个问题的答案,但这有点棘手,所以我想在这里分享。
我有一个验证密码的正则表达式。它们应为 7 到 60 个字符,其中至少有 1 个数字和 1 个字母字符。相当标准。我使用正向前瞻((?= 运算符)来实现它:
(?=^.{7,60}$)(?=.*[0-9].*)(?=.*[a-zA-Z].*)
我使用Regex.IsMatch()在单元测试中检查了这个表达式,它工作得很好。但是,当我在正则表达式验证器中使用它时,它总是失败。为什么?
最佳答案
奇怪的是,我以前从未遇到过这种情况,但事实证明 RegularExpressionValidator 不使用 Regex.IsMatch 或 JavaScript 的 Regex.test() ——它检查捕获匹配完全等于完整测试值。相关JS代码如下:
var rx = new RegExp(val.validationexpression);
var matches = rx.exec(value);
return (matches != null && value == matches[0]);
因此,如果表达式全部是前瞻(匹配位置,而不是实际文本),它将失败。通过仅部分匹配的表达式的示例,这一点更加清晰,例如对于 \d{5},值“123456”将失败。它不仅仅是在表达式周围添加“^$”并执行 IsMatch。你的表情实际上必须捕捉。
我的例子的修复是这个表达式:
(?=^.{7,60}$)(?=.*[0-9].*).*[a-zA-Z].*
关于asp.net - RegularExpressionValidator 总是失败,但 ValidationExpression 在测试中有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2885748/
我为我的糟糕写作道歉,英语不是我的第一语言。 我需要为此正则表达式 好 -1000000.00 = 7 digits and 2 decimals with negative -100 100000
我有一个文本框。我添加了一个正则表达式来验证可以包含一个或 20 个字符的文本框,如下所示 我想确保文本框也不包含 PIPE (|) 符号。如何在一个 ValidationExpression 中
使用上述控件来验证 ASP.NET TextBox,我很好奇最流行的做法是什么。目前使用: ValidationExpression="^[\w\d\s.,"'-]+$" 还有更短的方法吗?
我需要编写这样的表达式 123/12-125 必须接受(/和 -) 。 我像这样写了 ValidationExpression "^(\d*\/?\d*)^(\d*\-?\d*)$" 但是没用 “/”
我找到了这个问题的答案,但这有点棘手,所以我想在这里分享。 我有一个验证密码的正则表达式。它们应为 7 到 60 个字符,其中至少有 1 个数字和 1 个字母字符。相当标准。我使用正向前瞻((?= 运
我正在使用正则表达式来过滤最终用户输入的无效输入。 可接受的输入是 word , space , digital和 . / @ , # & $ _ : ? ' % ! – ~ " | + ; ” {
RegularExpressionValidator.ValidationExpression="\d{10}" 表示仅数字 - 最多 10 个。 RegularExpressionValidator
我是一名优秀的程序员,十分优秀!