使用正则表达式验证电子邮

时间:2011-01-19 07:28:34

标签: php javascript

我正在使用此正则表达式进行电子邮件验证,但它不允许使用连字符(-):

/^\w+([\.-_]?\w+)*@\w+([\.-_]?\w+)*(\.\w{2,4})+$/

请任何人告诉我该怎么做?

2 个答案:

答案 0 :(得分:3)

PHP中有一个函数用于此filter_var,会尽量避免使用RegEx。它们很强大,但可以变得很毛茸茸。

filter_var('bob@example.com', FILTER_VALIDATE_EMAIL)

答案 1 :(得分:0)

尝试转义你的连字符:

/^\w+([.\-_]?\w+)*@\w+([.\-_]?\w+)*(.\w{2,4})+$/

短划线是为方括号内的范围保留的,所以如果你想让它成为文字,你需要将其转义。