我使用以下代码模式进行密码验证。出于某种原因,正则表达式语法适用于外部站点,但不适用于编译代码。换句话说,当它应该返回true时返回false。
这在编译的代码中不起作用(请参阅示例作为注释)但在http://www.regexlib.com等网站中有效:
我有点难过......任何帮助太多了。 c#,MVC3,
// Function to check for valid password.
public bool IsPassword(String strToCheck)
{
// Password expresion that requires one lower case letter, one upper case letter, one digit, 6-13 length, and no spaces.
// 1agdA*$# | 1agdA*$# | 1agdA*$#
var objPasswordPattern = new Regex(@"^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).{6,13}$");
return !objPasswordPattern.IsMatch(strToCheck);
}
答案 0 :(得分:1)
我很确定它只是小小的!'在返回线上绊倒你。通过这样做,你说"不是匹配"。我在当地运行了你的代码以及发生了什么。