电子邮件正则表达式功能在React验证中不起作用

时间:2018-09-19 10:47:36

标签: regex reactjs validation

我正在对电子邮件正则表达式使用以下React函数,但是它不起作用。

当我尝试使用以下电子邮件地址:test@test.com时,出现错误消息:“电子邮件无效”

这是我的FormValidation函数来检查值:

import { emailRegex } from "./regex";

export function validateEmail(email) {
  if (!email.length) {
    return {
      status: true,
      value: "Email is required"
    };
  } else if (!emailRegex.test(email)) {
    console.log(email);
    return {
      status: true,
      value: "Email is invalid"
    };
  }
  return {
    status: false,
    value: ""
  };
}

export function validatePassword(password) {
  if (!password.length) {
    return {
      status: true,
      value: "Password is required"
    };
  } else if (password.length <= 6) {
    return {
      status: true,
      value: "Password is invalid"
    };
  }
  return {
    status: false,
    value: ""
  };
}

这是我的emailRegex函数:

export const emailRegex = /^(([^<>()[]\\.,;:\s@\"]+(\.[^<>()[]\\.,;:\s@\"]+)*)|(\".+\"))@(([[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

问题出在哪里?谢谢我们的帮助

1 个答案:

答案 0 :(得分:0)

export const emailRegex=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/