2017-09-23 132 views
-1

我需要为我的姓名字段设置一个jQuery验证字符,它允许用户只输入字母和数字组合的字母数字字符,但不需要输入数字。输入字段的Jquery验证

+1

的StackOverflow是不是代码写作服务。你到目前为止尝试过什么,遇到了什么问题? – Pyves

+0

我们没有您的代码。你如何期待我们的帮助? – mrid

回答

1

使用正则表达式。我使用https://jqueryvalidation.org/验证插件,以防万一您使用相同的插件,在这里您有一个简单的自定义方法(很确定我从stackoverflow.com/a/5732255/5437621获得)...

$.validator.addMethod("alphanumeric", function(value,element) { 
    return this.optional(element) || /^[A-Za-z0-9]+$/.test(value); 
}, "This field can only have letters and numbers."); 

...但无论如何,这是怎么对你重要的是这个...

/^[A-Za-z0-9]+$/.test(yourInputValue); 

...这会告诉你,如果值只有字母和数字。

重要提示:我一直在使用这个字母数字函数很长一段时间,并直接从我的一个应用程序粘贴它,但作为@mrid注释,我可能从它得到它(stackoverflow.com/a/5732255/5437621)或其他答案(说实话,我不记得它,但可能是这样)。对不起,我不想从别人的作品中获益。

我希望它能帮助

+0

为什么使用库进行简单验证? – mrid

+0

不,不......我只是把整个功能,以防万一他使用相同的插件。这就是为什么我继续提取正则表达式测试。我会编辑答案,以澄清 –

+0

冷静的芽,我只是通知你,我会取消我的评论 – mrid

0

该解决方案使用https://jqueryvalidation.org/

jQuery.validator.addMethod("alphanumeric", function(value, element) { 
    return this.optional(element) || /^[a-zA-Z0-9]+$/.test(value); 
}); 
0

$("#inp").keyup(function(e) { 
 
    var str = $.trim($(this).val()); 
 
    if (str != "") { 
 
    var regx = /^[A-Za-z0-9]+$/; 
 
    if (!regx.test(str)) { 
 
     $("#error").html("alphanumeric only"); 
 
    } else { 
 
     if (isNaN(str)) 
 
     $("#error").html(''); 
 
     else 
 
     $("#error").html("alphanumeric only"); 
 
    } 
 
    } else { 
 

 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input id="inp" type="text"> 
 

 

 
<span id="error"></span>

+0

它的工作感谢您的帮助。 – Anitha

+0

@Anitha你可以注意到这一点,并将其标记为答案,如果它帮助:) – mrid