-4

我在 C# 中使用它

var validString = new Regex(@"^[a-z][a-z\d!@#$%\^&*()\-+]{0,7}$(?<=\d\D+)", RegexOptions.Compiled); 

我正在尝试执行以下密码创建规则

•没有大写字母。
•以字母开头。
• 至少有1 个数字不在开头和结尾。
•最多有 8 个字母数字
•没有像@#$ 字符这样的符号(像!@#$%^&*()-+ 这样的符号)。

任何帮助,将不胜感激

4

3 回答 3

2

可以使用相同的正则表达式(只要它有效)。至于如何使用它如下图所示:

var re = /^[a-z][a-z\d!@#$%\^&*()\-+]{0,7}$(?<=\d\D+)/;
var test = re.test(password);  // will store a bool value whether the password is valid or not.
于 2012-06-12T15:53:37.433 回答
2

谷歌是你的朋友:http ://www.diveintojavascript.com/articles/javascript-regular-expressions

此外,您可以使用match

str.match(pattern)

享受。

于 2012-06-12T15:54:56.807 回答
2

几乎相同,除了:

  • new RegExp代替new Regex
  • @字符串前没有
  • 您不能将常量用于选项,只能使用带有选项字母的字符串
  • 你不能使用lookbehinds。

或者使用正则表达式文字:

var validString = /^[a-z](?=[a-z]*[0-9])[a-z0-9]{0,6}[a-z]$/;

注意我改变了你的正则表达式,因为你基本上说你不能在开头或结尾有数字。我使用了前瞻来确保那里有一个数字。

于 2012-06-12T15:57:02.423 回答