我正在验证React应用程序中的电子邮件输入,但我希望在提交表单时输入同时具有@
和.(dot)
。我尝试了.some()
方法,但如果只有一个条件为true,则它将返回true,但我想要两者:
const emailValidation = ["@", "."];
<input
type="text"
placeholder="Email"
value={email}
onChange={(e) => setEmail(e.target.value)}
onBlur={(e) => {
setIsEmailValid(
emailValidation.some((el) => e.target.value.includes(el))
);
}}
/>
<input
type="text"
placeholder="Email"
value={email}
onChange={(e) => setEmail(e.target.value)}
onBlur={(e) => {
setIsEmailValid(
emailValidation.every((el) => e.target.value.includes(el))); }}
/>
这里你只需要使用every((方法,而不是some((