Я хочу проверить, является ли адрес электронной почты, введенный пользователем, действительным или нет в поле ввода. и если адрес электронной почты неправильный, отключите кнопку добавления. если адрес электронной почты действителен, включите кнопку добавления.
ниже мой код,
function Parent () {
const [isDisabled, setIsDisabled] = React.useState(true);
const onEmailChange = (event: any) => {
setEmail(event.target.value);
};
React.useEffect(() => {
const isValid = /^[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[A-Za-z]+$/.test(email); //this considers ab.ab@mail.com as invalid
setIsDisabled(!isValid);
}, [email];
return (
<Input
type="text"
value={email}
onChange={onEmailChange}
placeholder="Insert email"
/>
<button
disabled={isDisabled}
>add</button>
);
}
это отлично работает. но когда пользователь вводит адрес электронной почты «ab c. ab@email.com», это подтверждается ошибкой. может ли кто-нибудь помочь мне исправить регулярное выражение, чтобы принять это тоже. спасибо.