gpt4 book ai didi

javascript - 在javascript中验证姓名/号码

转载 作者:行者123 更新时间:2023-11-29 17:30:30 24 4
gpt4 key购买 nike

我有一个输入框。它可能包含名称或数字。

如果输入至少有一个字母,我们将其作为名称处理,并且其长度应为 11 或更短。因此有效输入可能是 Bob、12Bob 或 Bob23。不允许有空格或其他字符,因此 Bob_1、Bob 23 将无效。

如果输入仅包含数字,我们将其作为数字处理,如果是这样,数字必须以 00 开头并且长度应为 16 或更小。

这是我的代码:

function validateName(){
var name = $('#absender').val();
var length = name.length;
if(/^[a-zA-Z0-9]+$/.test(name)){
if(length > 11){
$('#absender').addClass('error');
$('#bsenderInfo').addClass('error');
disableSave();
return false;
}else{
$('#absender').removeClass('error');
$('#absenderInfo').removeClass('error');
enableSave();
return true;
}
}else if(/^[0-9]+$/.test(name)){
if(name.substring(0,2) != "00"){
$('#absender').addClass('error');
$('#bsenderInfo').addClass('error');
disableSave();
return false;
}
if(length > 17){
$('#absender').addClass('error');
$('#bsenderInfo').addClass('error');
disableSave();
return false;
}else{
$('#absender').removeClass('error');
$('#absenderInfo').removeClass('error');
enableSave();
return true;
}
}else{
$('#absender').addClass('error');
$('#bsenderInfo').addClass('error');
disableSave();
return false;
}
}

不管输入是什么,如果长度为 12,它会给我 false。有什么想法吗?

最佳答案

是因为这一行:

if(/^[a-zA-Z0-9]+$/.test(name)){

每个数字字符串都适合这个正则表达式,所以永远不会执行“else”语句。

您可以通过在检查大小写 [a-zA-Z0-9] 之前检查号码-用户名大小写来更正此问题。

关于javascript - 在javascript中验证姓名/号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4700595/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com