【发布时间】:2023-04-03 21:22:01
【问题描述】:
我有 JavaScript 可以在输入后验证整个电子邮件:
function ValidateEmail(inputText)
{
var mailformat = /^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/
if(inputText.value.match(mailformat))
{
alert("This is not a valid email address");
return false;
}
}
但是如何检查单个字符是否对电子邮件有效? 所以我想防止用户输入错误的电子邮件字符。 因此,函数参数将是这些,并且仅在存在无效字符时才应返回 false:
m
my
mya
....
myaddress
....
myaddress@mail.com
【问题讨论】:
-
使用
mailformat.test(inputText.value)。见RegExp.prototype.test() -
你为什么不用
<input type="email" />,省点麻烦呢? -
@Andy,我认为这仅适用于客户端验证,不适用于服务器端验证。
-
OP 有
React作为标签,所以我假设电子邮件地址来自那里。 @user11823877 -
@Andy,知道了。它也有 nodejs 标签。所以只是想确认一下。我也认为我们需要为 type="email" 添加模式来验证。
标签: javascript node.js reactjs regex