我有一个mailchimp订阅表格,我试图验证输入值,因此它仅接受特定类型的电子邮件,例如@gmail.com
。
[name]@gmail.com
,如果不应提交用户插入@ gmail.com表单以外的其他内容,我尝试使用regex来实现,但不起作用,因此如何在JS中实现这种功能。
答案 0 :(得分:2)
这是您想要做的:/@gmail\.com$/
var test = [
'abc@gmail.com',
'abc@not_gmail.com',
];
console.log(test.map(function (a) {
return a+' :'+/@gmail\.com$/.test(a);
}));
答案 1 :(得分:1)
您可以在@
之后拆分和检查零件
var test = [
'abc@gmail.com',
'abc@not_gmail.com',
]
test.forEach(i => {
console.log(i.split('@')[1] === 'gmail.com')
})
答案 2 :(得分:0)
同意Toto's answer,但我也想使用How to validate an email address using a regular expression?的正则表达式检查电子邮件前缀是否正确
var test = [
'abc@gmail.com',
'abc@not_gmail.com',
];
console.log(test.map(function (a) {
return a + ': ' + /(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@gmail\.com$/.test(a);
}));