Javascript 如何使用JQuery检查输入(电子邮件)字段是否包含特殊字符

Javascript 如何使用JQuery检查输入(电子邮件)字段是否包含特殊字符,javascript,jquery,Javascript,Jquery,目前,我正在使用以下代码,但它似乎不起作用。如果用户未能在输入字段中输入“@”符号,我将抛出一个错误。请容忍我。谢谢 我的以下代码是: var emailaddressVal = $("input[name='emailAddress']").val().split('@').slice(1)[0].trim(); if(emailaddressVal .match(/@/) !== null) { alert('An @ symbol was not entered'); } i

目前,我正在使用以下代码,但它似乎不起作用。如果用户未能在输入字段中输入“@”符号,我将抛出一个错误。请容忍我。谢谢

我的以下代码是:

var emailaddressVal = $("input[name='emailAddress']").val().split('@').slice(1)[0].trim();

if(emailaddressVal .match(/@/) !== null) {
    alert('An @ symbol was not entered');
} 

indexOf
有什么问题?它并不总是那么复杂:


document.getElementById('test').onkeyup=function(){
if(this.value.indexOf('@')>-1){
警报(“错误”);
}        
}    
或jQuery

$(“#测试”).on('keyup',function(){
if($(this).val().indexOf('@')>-1){
警报(“错误”);
}        
});    

演示->索引的
有什么问题?它并不总是那么复杂:


document.getElementById('test').onkeyup=function(){
if(this.value.indexOf('@')>-1){
警报(“错误”);
}        
}    
或jQuery

$(“#测试”).on('keyup',function(){
if($(this).val().indexOf('@')>-1){
警报(“错误”);
}        
});    

演示->

看起来您做的工作比需要的多得多。您的
split()
调用会搜索坏字符,因此您可以停在那里查看字符串是否被拆分。但这并不是一个非常明确的表达你意图的方式

如果您正在寻找特定的字符,则不需要正则表达式

为什么不

if ( $("input[name='emailAddress']").val().indexOf('@') > -1 ) { 
    /* we found an '@' character; handle as you like */ 
} else {
    /* NOT FOUND, handle as appropriate */
    alert("Missing a required '@' character");
}

indexOf
如果找到字符串,则返回非负值。看

看起来你做的工作比你需要做的多得多。您的
split()
调用会搜索坏字符,因此您可以停在那里查看字符串是否被拆分。但这并不是一个非常明确的表达你意图的方式

如果您正在寻找特定的字符,则不需要正则表达式

为什么不

if ( $("input[name='emailAddress']").val().indexOf('@') > -1 ) { 
    /* we found an '@' character; handle as you like */ 
} else {
    /* NOT FOUND, handle as appropriate */
    alert("Missing a required '@' character");
}

indexOf
如果找到字符串,则返回非负值。请参阅

您所需要的只是
$(“输入[name='emailAddress'])。val()在使用正则表达式检查之前。@Pointy您有一个例子吗???只需在发布的第一行代码中删除
.val()
之后的所有内容。只需
$(“输入[name='emailAddress']).val()在使用正则表达式检查之前。@Pointy您有一个例子吗???只需删除您发布的第一行代码中
.val()
之后的所有内容。谢谢!当字段不包含@时,如何显示错误?我添加了一个
else
子句,如果找不到@符号,该子句将生效。第一行代码测试
indexOf
是否返回一个位置(0或正数,emailAddress字段中“@”的位置)。如果未找到它,
indexOf
返回-1,因此测试失败,执行落入处理错误的
else
块。谢谢!当字段不包含@时,如何显示错误?我添加了一个
else
子句,如果找不到@符号,该子句将生效。第一行代码测试
indexOf
是否返回一个位置(0或正数,emailAddress字段中“@”的位置)。如果未找到它,
indexOf
返回-1,因此测试失败,执行落入处理错误的
else
块。