2012-03-17 81 views
0

我想检查文本字段是否有超过21个字符。如果它有超过21个字符,则显示错误消息。下面的代码显示了我迄今为止的成就。一切正常,但我坚持这个小问题。我怎么解决这个问题?检查值是否超过21个字符

$('input[name="textfield-googleplus"]').keyup(function() { 
    $('.input-error').remove(); 

    var input_value = $(this).val(); 
    var only_numeric = /^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$/; 
    var max_twentyone = /[0-9]{21}/; 


    if(input_value != '' && !only_numeric.test(input_value)) { 
     $(this).after('<span class="input-error">Ditt profil-ID får enbart innehålla siffror</span>'); 

    } else if(input_value != '' && !max_twentyone.test(input_value)) { 
     $(this).after('<span class="input-error">Ditt profil-ID får enbart innehålla 21 siffror</span>'); 
    } 
}); 

在此先感谢!

+0

我不知道怎么样'$(本).VAL()。长度<= 21'你什么使用正则表达式检查是否在字符串中存在完全21位数的子字符串(^和$ mean表示以开始并结束于)。但是你当然也可以重写正则表达式,因此它支持所有其他字符。 – 2012-03-17 03:22:42

回答

6

正则表达式在这里没有必要。只需检查(input_value.length > 21)

+0

非常感谢!你的答案解决了我的整个问题:)我会尽快标记它。 – Erik 2012-03-17 03:27:45

2
if (typeof input_value == "string") { 
    if (input_value.length > 21) { // is more than 21 chars 

    } 
} 

我只有通过第一,如果因为如果你想要的是永远是字符串

相关问题