我正在尝试创建一个仅接受以 . 结尾的电子邮件地址的电子邮件地址正则表达式"@gbase.tt"
。
我试过了:^[A-Z0-9._%+-]+@gbase\.tt$
当您可以测试字符串是否以“@gbase.tt”结尾时,为什么还要使用正则表达式?
但是,如果您真的必须使用正则表达式,请尝试^.+?@gbase.tt$
.
我会从一个完整的电子邮件正则表达式开始,就像在这里找到的一样。
(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[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]?[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])+)\])
该表达式中显然存在@
拆分,因此保留前半部分,并将@
符号后面的所有内容替换为gbase\.tt$
。
请记住,您必须转义点,因为点本身代表任何字符。
var x=document.forms["myForm"]["emailId"].value;
var atpos=x.indexOf("@abc.com");
var atpos1=x.indexOf("@xyz.in");
var atpos2=x.indexOf("@www.in");
if (atpos<1 && atpos1<1 && atpos2<1)
{
alert("Not a valid e-mail address");
return false;
}
这是包含“。”的固定域名和电子邮件ID的解决方案。或者 ”_”
你可以使用模式 - pattern="^[A-Za-z0-9]+(.|_)+[A-Za-z0-9]+@+gmail.com$"
它只接受域名为 gmail.com 的电子邮件 ID