简体   繁体   English

输入不匹配正则表达式时如何显示错误信息?

[英]How To Display An Error Message When Input Does Not Match Regex?

I simply want to display an error message such as "Email must contain @" and prevent the form from submitting, if there is an error.我只是想显示一条错误消息,例如“电子邮件必须包含@”,并在出现错误时阻止提交表单。

How can I go about doing this?我怎样才能go做这件事?

My latest attempt which is a failure:我最近一次失败的尝试:

const email = document.getElementById('email')
const emailmessage = document.getElementById('emailmessage')
const regex = ('^\S+@\S+$')



form.addEventListener('submit', function (event) {
  if(!email.value.match(regex)) {
    emailchecker();
    event.preventDefault();
  }
});


let emailchecker = function() {
  if(!email.value.match(regex)) {
    document.getElementById('emailmessage').innerHTML = '<img src="222.svg" height="15"/> Email Error';
}

Your code is correct, you only need the regex for email validation:您的代码是正确的,您只需要用于 email 验证的正则表达式:

function emailchecker (emailAdress){
   let regexEmail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
   if (emailAdress.match(regexEmail)) {
      return true; 
   } else {
     return false; 
   }
}
let emailAdress = "test@gmail.com";
console.log(emailchecker(emailAdress)); //return true

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM