正则expression式空string或电子邮件

我发现了很多正则expression式电子邮件validation,但我没有发现任何将接受一个空string。 这只能通过正则expression式吗? 只接受空string还是电子邮件? 我只想在正则expression式上使用它。

7 Solutions collect form web for “正则expression式空string或电子邮件”

这个正则expression式模式将匹配一个空string:

^$ 

这将匹配(粗糙)电子邮件或空string:

 (^$|^.*@.*\..*$) 

匹配空string或电子邮件

 (^$|^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.(?:[a-zA-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum)$) 

匹配空string或电子邮件,但也匹配任何数量的空白

 (^\s*$|^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.(?:[a-zA-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum)$) 

详细了解电子邮件匹配正则expression式本身:

http://www.regular-expressions.info/email.html

上面的答案工作($为空),但我只是试过这一点,它也可以像这样留下空白:

 /\A(INTENSE_EMAIL_REGEX|)\z/i 

同样的事情以相反的顺序

 /\A(|INTENSE_EMAIL_REGEX)\z/i 

这将解决,它会接受空string或确切的电子邮件ID

 "^$|^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$" 

我更喜欢/^\s+$|^$/gi来匹配空的和空的空格。

 console.log(" ".match(/^\s+$|^$/gi)); console.log("".match(/^\s+$|^$/gi)); 

如果你在rails中使用它 – activerecordvalidation你可以设置allow_blank: true

如:

validates :email, allow_blank: true, format: { with: EMAIL_REGEX }

不要将电子邮件与正则expression式匹配。 这是非常丑陋,漫长而复杂 ,你的正则expression式parsing器可能无法处理它。 尝试find匹配它们的库例程。 如果您只想解决匹配电子邮件地址的实际问题(即,如果您想要(通常)正常工作的错误代码),请使用其他人提交的regular-expressions.info链接。

至于空string, ^$是由多人提到,并会正常工作。

  • 如何检查unix中的string中的第一个字符
  • 为什么Python 3.5中的str.translate比Python 3.4更快?
  • 有没有替代string。replace是不区分大小写?
  • 在PHP中的方括号之间捕获文本
  • 我怎样才能检查一个var是JavaScript中的string?
  • 如何validationGUID是一个GUID
  • 在列中将列types更改为更长的string
  • 在VB6中实现String.Format()
  • 如何在Python中的string中放置一个variables?
  • PHPstring连接,性能
  • 错误:types为“const char ”和“const char ”的操作数无效到二元运算符+