我需要在电子邮件字段中只进行一次验证,即域名说'某事'。
示例:
adarsh.k@something.com -valid
adarsh.k@gmail.com - invalid
我在下面给出的文本框中输入了emailid,你能告诉我正则表达式,以便进行上述基本验证吗?
var emailId = $('#txtRcpntAdress').val();
我正在尝试使用下面给出的reqular表达式。
var validDomain = "something";
var pattern = new RegExp("([A-Za-z0-9_\-\.])"+"@" + validDomain + "(.[a-zA-Z]{2,4})$");
它会抛出错误
Microsoft JScript runtime error: Invalid range in character set
你能帮忙吗?
谢谢, 阿达什讷
答案 0 :(得分:1)
这应该可以解决问题:
var validDomain = "something";
var pattern = new RegExp("^[A-Za-z0-9_\\-\\.]+@" + validDomain + "(.[a-zA-Z\\.]{2,5})$");
var emailId = "adarsh.k@something.com";
if( emailId.match(pattern) )
{
// ... email is valid
}
如果您想匹配完整的域,只需更改前两行:
var validDomain = "something.com";
var pattern = new RegExp("^[A-Za-z0-9_\\-\\.]+@" + validDomain + "$");
答案 1 :(得分:0)
var reg = /^\w+@something.com$/;
reg.test("adarsh.k@something.com")
> true
reg.test("adarsh.k@gmail.com")
> false
编辑:好像我误解了你的问题...... 正确的正则表达式是:
var validDomain = "something";
var pattern = new RegExp("([A-Za-z0-9_\\-\\.])"+"@" + validDomain + "(.[a-zA-Z]{2,4})$");