Javascript 是否有任何方法允许用户通过公司电子邮件验证进行注册?

Javascript 是否有任何方法允许用户通过公司电子邮件验证进行注册?,javascript,ruby-on-rails,regex,regex-negation,Javascript,Ruby On Rails,Regex,Regex Negation,javascript或RubyonRails中是否有任何验证允许用户通过公司电子邮件注册。公司电子邮件示例: 1) jai@jai.com where jai is domain name 2) ajay@google.com where google.com is domain name 不允许使用其他电子邮件服务电子邮件,例如: 1) jai@gmail.com 2) jai@hotmail.com 3) jai@yahoo.com 这是任何电子邮件地址的正则表达式。请注意,域名中可能

javascript或RubyonRails中是否有任何验证允许用户通过公司电子邮件注册。公司电子邮件示例:

1) jai@jai.com where jai is domain name 
2) ajay@google.com where google.com is domain name
不允许使用其他电子邮件服务电子邮件,例如:

1) jai@gmail.com
2) jai@hotmail.com
3) jai@yahoo.com

这是任何电子邮件地址的正则表达式。请注意,域名中可能存在连字符,因此模式为:

\w+@\w+(?:-\w+)\[A-Za-z]{2,4}
这是一本书

您可以通过消极前瞻来否定

\w+@(?)(?:gmail | hotmail | yahoo)\)\w+(?:-\w+)\[A-Za-z]{2,4}
这是一本书


为了提高准确性并将地址与评论中提到的Jan Dvorak等其他字符进行匹配,这里有一个典型的RFC 5322电子邮件正则表达式:

以下代码:(以下以下简称::[a-z0-9-9-10-10-10-10-10-10 10-9-9-9-9-a-z0-9-10-10-9-10-10-10-9-10-10-10-10-10-9-9-9-9-9-9-10-10-5.[以下以下以下以下以下简称::::(以下以下以下以下以下简称:::(以下以下简称::::[以下以下简称::[a-a-a-a-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-10-9-9-9-9-9-9-9-9-9-9-9-9-9-10-10-10-9-10-10-10-10[a-z0-9-]*[a-z0-9])?\)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\[(?:(?:(?:25[0-5]| 2[0-4][0-9]|[01]?[0-9][0-9])\){3}(?:25[0-5]| 2[0-4][0-9]|[01]|[a-Z09](?)[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\] 在粗体区域进行否定:

(2)代码>(以下以下简称::(以下以下简称::(以下以下简称::(以下以下简称:)(以下以下以下简称:(以下以下简称::(以下以下简称:(以下以下以下简称::(以下简称:[a-z0-10-10-10-9-10-9-9-9-10-9-9-9-10-9-9-9-9-9-9)以及以及以及(以下以下以下以下以下简称:::::::::)以及以及(a-10-10-10-10-9-9-9-9-9-9-9-9-9-9-9-10-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-10)以及以及,,,,,,,,,,,,,[以下以下以下以下以下以下以下以下以下以下以下以下以下以下以下以下以下以下以下,,,,,,,,,,,,,[[[)(?:(?:[a-z0-9-]*[a-z0-9])+[a-z0-9](?:[a-z0-9-]*[a-z0-9])。[(?:(?:[a-z0-9-]*[a-z0-9])((?:[a-z0-9-]*[a-z0-9]),[a-z0\[(?:[a-z0 25[0-5][0-4][0-9][01][0-9]。][0-9]?[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\]
这里有一个.

除了自己定义regex之外,您还可以使用gems,如:

在您的模型中(比如user.rb)


你是说regex吗?XXXX@mydomain.com仅?我只需要公司电子邮件验证,而不需要其他电子邮件服务,如您的网站www.example.com和电子邮件linial@example.com那么它应该是允许的,但如果电子邮件像gmail.com yahoo.com redff.com一样,那么它是不允许的。这将拒绝大量完全有效的电子邮件地址,例如s
示例+filter@gmail.com
@JanDvorak指定“其他电子邮件服务”应拒绝给定列表中的。拒绝
示例+filter@gmail.com
似乎符合这里的规范。另一方面,
示例+filter@mymail.com
通过,因为正则表达式没有被锚定。那么
示例呢+filter@google.com
?@Jan,它肯定会通过。这只匹配电子邮件的一部分。你可以uld同样易于使用
\w@...
仍然必须否定已定义的“其他电子邮件服务”域列表。您可以在回答中添加如何通过gem完成此操作。
validates :my_email_attribute, :email => true