拒绝电子邮件正则表达式

时间:2016-05-04 16:13:11

标签: regex typescript angular regex-negation

我正在尝试编写一个基本的正则表达式来验证电子邮件地址。对于这个特定的情况,我试图确保输入的字符串只包括字母,数字,“。”和“@”。或者换句话说,我确保它不包括像£&¬这样的字符!等

我尝试获取此[[:alnum:]。@] +的NOT版本,以便突出显示不在该集合中的字符,但我无法使其工作。我也尝试了不在[\ W。@] +中的字符(。表示要转义但是stackoverflow正在从这篇帖子中删除\)但是\ W仍然在接收。和@符号。

2 个答案:

答案 0 :(得分:0)

有很多关于电子邮件地址的正则表达式模式的例子。这是一个非常基本/天真的,只允许使用字母数字和句点(和一个@)。这个不关心域名部分是否有效格式(例如" abc @ gmail ...... com"会通过):

^[A-Za-z0-9.]+@[A-Za-z0-9.]+$

答案 1 :(得分:0)

你可以......

  • ...匹配积极因素(你的正则表达式加上锚点以确保它与完整的测试字符串匹配)
    ^[[:alnum:].@]+$
  • ...匹配否定词,这意味着在某些时候出现非法字符
    [^[:alnum:].@]

...并检查是否有匹配。 n第一种情况意味着' ok',在第二种情况下失败'

Theer是不支持posix字符类的正则表达式方言,在这种情况下用[:alnum:]替换0-9a-zA-Z