我正在尝试制作注册表单,我只想在其中注册特定域名的电子邮件.对于例如我想只注册来自companyX,companyY,companyZ的电子邮件.
因此,可接受的电子邮件将是: –
> myname@companyZ.com
> myname@companyY.com
> myname@companyX.com
知道怎么在JQuery中做到这一点?
更新
这就是我写的,现在为止
($input) if ( (preg_match("/^\S+@companyX\.com$/i",$input) || (preg_match("/^\S+@companyY\.com$/i",$input) || (preg_match("/^\S+@companyZ\.com$/i",$input) ) { } else { //Error. }
谢谢
解决方法
电子邮件只包含一个@,因此您可以拆分输入值并获取第二部分
str = str.split('@').slice(1);
然后只需检查是否在您可接受的列表中
var allowedDomains = [ 'x.com','y.com','z.com' ]; if ($.inArray(str[0],allowedDomains) !== -1) { //acceptable }else{ //not acceptable }
这是jsfiddle中的一个工作示例:http://jsfiddle.net/UwmYK/2/只需输入电子邮件并单击运行即可.