У меня есть одно поле ввода.Он может содержать либо имя, либо число.
Если на входе есть хотя бы одна буква, мы воспринимаем его как имя и его длина должна быть 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. Любые идеи?