【发布时间】:2014-08-27 06:54:49
【问题描述】:
我需要为密码做一个正则表达式,其强度设置可以由客户端更改。 强度参数如下——
最小和最大长度可以由 AngularJS ngMinlength 和 ngMaxlength 处理。
但我需要生成一个正则表达式,它将通过从数据库中获取的参数即时创建。
我可以像这样从 JSON 中获取这些参数:
var minCharLength = pwdJSON.minCharLength;
var minCapCharLength = pwdJSON.minCapCharLength;
...
var regex = // What to do now?
我没有正则表达式制作的知识。此外,此正则表达式还将用于使用 C# 在服务器上进行验证。请推荐!
【问题讨论】:
-
尝试将验证特殊字符和验证最小值或长度的逻辑分开(不用正则表达式更容易做到)
-
即使我正在考虑不使用正则表达式..
-
@AvinashRaj 只认为我反刍尝试来自您的答案之一stackoverflow.com/a/25520295/1127787 它允许一个字符和一个数字..但我不知道如何使它适用于 N 字符和 N 数字
-
我确信 Angular 以某种方式支持 ajax 回调以进行验证,因此您可以在服务器端拥有一个简单的验证函数并调用它,以它期望的形式返回 json。由于验证规则已经存在于服务器上,这似乎是最好的方法,并且可以保证您得到一致的响应。您可以将它与客户端验证(最小/最大)结合起来,然后只触发 ajax。
-
感谢@AndrewBacker 的建议
标签: c# javascript regex