用as3.0中的正规表达式来验证E-Mail 的有效性

function isValidEmail(email:String):Boolean {
var emailExpression:RegExp = /^[a-z][\w.-]+@\w[\w.-]+\.[\w.-]*[a-z][a-z]$/i;
return emailExpression.test(email);
}
//...
trace(isValidEmail("example@example.com")); // true
trace(isValidEmail("@example.com")); // false
trace(isValidEmail("example@example")); // false
trace(isValidEmail("seno\\cular@example.com")); // false 


再加一点
使用组捕获子字符串匹配
如果您在模式中定义标准括号组,则之后可以在正则表达式中引用它。这称为“逆向引用”,并且此类型的组称为“捕获组”。例如,在下面的正则表达式中,序列 \1 匹配在捕获括号组中匹配的任意子字符串:

var pattern:RegExp = /(\d+)-by-\1/;
// 匹配字符串:48-by-48

您可以通过键入 \1, \2, ... , \99 在正则表达式中指定最多 99 个此类逆向引用。 

类似地,在 String 类的 replace() 方法中,可以使用 $1-$99 在替换字符串中插入捕获的组子字符串匹配:

var pattern:RegExp = /Hi, (\w+)\./;
var str:String = "Hi, Bob.";
trace(str.replace(pattern, "$1, hello."));
// 输出:Bob, hello.
此外,如果使用捕获组,RegExp 类的 exec() 方法和 String 类的 match() 方法将返回与捕获组匹配的子字符串:var pattern:RegExp = /(\w+)@(\w+).(\w+)/;
var str:String = "bob@example.com";
trace(pattern.exec(str));
  // bob@test.com,bob,example,com

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页