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