如何在Javascript中使用正则表达式?

时间:2012-06-12 15:51:03

标签: javascript hta jscript

我在C#中使用它

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

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

•Not have upper-case letters. 
•Begin with a letter. 
•Have at least 1 digit(s) not at the beginning and end. 
•Have up to 8 alphanumeric 
•Does NOT have any symbols like @#$ characters (symbols like !@#$%^&*()-+). 

任何帮助将不胜感激

3 个答案:

答案 0 :(得分: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.

答案 1 :(得分:2)

Google是您的朋友:http://www.diveintojavascript.com/articles/javascript-regular-expressions

此外,您可以使用match

str.match(pattern)

享受。

答案 2 :(得分:2)

几乎相同,除了:

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

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

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

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