Javascript 如何检查文本是否缺少某个字符?

Javascript 如何检查文本是否缺少某个字符?,javascript,Javascript,我正在处理的任务有一个div,您需要在其中输入电子邮件。这是一个简单的任务,它只需要检查电子邮件是否缺少@和句点,然后显示特定的文本,没有什么太复杂的。但是,我尝试使用includes()函数,Chrome控制台显示一个错误,表示varname.includes()不是函数 下面是我的HTML代码的一部分,在使用onlick之后,JavaScript应该发生在这里: <div class="warning"> </div> <div class

我正在处理的任务有一个div,您需要在其中输入电子邮件。这是一个简单的任务,它只需要检查电子邮件是否缺少@和句点,然后显示特定的文本,没有什么太复杂的。但是,我尝试使用includes()函数,Chrome控制台显示一个错误,表示varname.includes()不是函数

下面是我的HTML代码的一部分,在使用onlick之后,JavaScript应该发生在这里:

<div class="warning"> </div>

<div class="email">
  <input class="mail" type="email" name="mail" placeholder="your email">
  <input class="send" type="submit" name="send" value="SEND" onclick="checkEmail()">
</div>

基本上,JavaScript代码需要做的是:

  • 如果缺少@,请在警告栏中填写“缺少@”
  • 如果丢失,请在警告栏中写上“丢失”
  • 如果同时缺少@and.,请在警告栏中写上“您的电子邮件地址不正确!”
  • 如果电子邮件同时满足这两个条件,它会发出警告,说“你成功了!”
  • 正如我所提到的,我尝试在if中使用includes(),但这不起作用,我不知道还有什么可以起作用。我知道一些基本知识,比如如何发出警报或编写文本,我只是不知道如何让代码检查字符是否存在或缺失。在此方面的任何帮助都将不胜感激

    const-toCheckFor=[“@”,“]//要检查的所有字符的数组
    const text=“您想要的任何内容”//text您想要签入的内容
    let flag=true//如果在数组中找不到一个字符,则翻转为false
    toCheckFor.forEach(e=>{
    标志&=text.includes(e)
    })
    
    如果
    文本
    包含
    toCheckFor
    中的所有字符

    const toCheckFor=[“@”,“]//要检查的所有字符数组,则标志将为true
    const text=“您想要的任何内容”//text您想要签入的内容
    let flag=true//如果在数组中找不到一个字符,则翻转为false
    toCheckFor.forEach(e=>{
    标志&=text.includes(e)
    })
    

    如果
    文本
    包含
    中的所有字符以检查

    我建议您最好通过以下功能对输入的电子邮件地址使用regex检查,则标志将为真:

    function validateEmail(email) {
      const re = /^(([^<>()\[\]\\.,;:\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,}))$/;
      return re.test(String(email).toLowerCase());
    }
    
    功能验证电子邮件(电子邮件){
    常量re=/^([^()\[\]\\,;:\s@“]+(\.[^()\[\]\,;:\s@“]+)*)(“+”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[1,3}.[0-9]{1,3}.]124;([a-zA Z-0-9]++];
    返回re.test(字符串(email.toLowerCase());
    }
    
    我建议您最好通过以下功能对输入的电子邮件地址使用正则表达式检查:

    function validateEmail(email) {
      const re = /^(([^<>()\[\]\\.,;:\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,}))$/;
      return re.test(String(email).toLowerCase());
    }
    
    功能验证电子邮件(电子邮件){
    常量re=/^([^()\[\]\\,;:\s@“]+(\.[^()\[\]\,;:\s@“]+)*)(“+”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[1,3}.[0-9]{1,3}.]124;([a-zA Z-0-9]++];
    返回re.test(字符串(email.toLowerCase());
    }
    
    以下是一个基于您的帖子的示例

    const mail=document.querySelector('input[name=“mail”]”);//缓存供以后使用
    const warning=document.querySelector('.warning');//缓存供以后使用
    函数checkEmail(){
    常量错误={};
    const text=mail.value;
    如果(!text.includes('@')&&!text.includes('.')){
    warning.textContent='您的电子邮件地址不正确!';
    return;//在这里结束
    }
    /*  
    这是速记
    你也可以写
    如果(!text.includes('@')){
    错误。推送('缺少@');
    }
    */
    !text.includes('@')&&error.push('missing@');
    !text.includes('.')和&error.push('missing');
    如果(!error[0]){//,则会出现一些错误
    warning.textContent=error.join('&');
    }
    否则{//没有错误
    warning.textContent=“你在!”;
    }
    } 
    
    以下是一个基于您的帖子的示例

    const mail=document.querySelector('input[name=“mail”]”);//缓存供以后使用
    const warning=document.querySelector('.warning');//缓存供以后使用
    函数checkEmail(){
    常量错误={};
    const text=mail.value;
    如果(!text.includes('@')&&!text.includes('.')){
    warning.textContent='您的电子邮件地址不正确!';
    return;//在这里结束
    }
    /*  
    这是速记
    你也可以写
    如果(!text.includes('@')){
    错误。推送('缺少@');
    }
    */
    !text.includes('@')&&error.push('missing@');
    !text.includes('.')和&error.push('missing');
    如果(!error[0]){//,则会出现一些错误
    warning.textContent=error.join('&');
    }
    否则{//没有错误
    warning.textContent=“你在!”;
    }
    } 
    
    它应该与
    string.includes(“@”)
    和&
    string.includes(“.”
    ,如果字符串中有参数中的字符,则返回true。确保对字符串使用此方法。可以在输入元素中使用该属性。它们与正则表达式一起工作。它应该与
    字符串一起工作。includes(“@”)
    &&
    字符串。includes(“.”
    ,如果字符串中有character in参数,则返回true。确保对字符串使用此方法。可以在输入元素中使用该属性。它们使用正则表达式。