我正在寻求一种比我目前拥有的更为全面的电子邮件验证。如果您看一下我的代码,我只检查@符号并以.com结尾。我可以在当前的代码配置中包含更全面的验证检查吗?
JS:
this.state = {
inputs: {
name: '',
email: '',
message: '',
},
errors: {
name: false,
email: false,
message: false,
},
};
handleOnChange = e => {
const { name, value } = e.target;
if (name === 'email') {
this.setState({
inputs: {
...this.state.inputs,
[name]: value,
},
errors: {
...this.state.errors,
email:
(value.includes('@') && value.slice(-4).includes('.com'))
? false
: true,
},
});
} else {
this.setState({
inputs: {
...this.state.inputs,
[name]: value,
},
errors: {
...this.state.errors,
[name]: false,
},
});
}
};
答案 0 :(得分:1)
验证电子邮件的最佳方法是使用正则表达式:
const emailRegEx = /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
以上内容将匹配99.99%的有效电子邮件