我正在使用此正则表达式进行电子邮件验证,但它不允许使用连字符(-
):
/^\w+([\.-_]?\w+)*@\w+([\.-_]?\w+)*(\.\w{2,4})+$/
请任何人告诉我该怎么做?
答案 0 :(得分:3)
PHP中有一个函数用于此filter_var,会尽量避免使用RegEx。它们很强大,但可以变得很毛茸茸。
filter_var('bob@example.com', FILTER_VALIDATE_EMAIL)
答案 1 :(得分:0)
尝试转义你的连字符:
/^\w+([.\-_]?\w+)*@\w+([.\-_]?\w+)*(.\w{2,4})+$/
短划线是为方括号内的范围保留的,所以如果你想让它成为文字,你需要将其转义。