如何限制2位数的描述

时间:2013-09-07 09:01:18

标签: javascript jquery regex

我需要验证我的说明文字区域,该文字区域只包含2个或少于2个数字。它还会包含文字。我尝试了**regex**但是我没有结果。我试过像

if(value.match(/^\d{1,2}$/)){
    return false;
}else{
    return true;
}         

意味着

有效:

this is 22 years old

有效期:

this is 222 years old

任何人都可以建议我解决。谢谢。

2 个答案:

答案 0 :(得分:4)

没有任何实施代码,很难说......

但是你要从正则表达式中删除^$,它们分别表示字符串的开始和结束。

您最好尝试查找超过2位数的数字,如果找到则返回true:

/\d{3,}/

对于包含3位数字的所有字符串都是如此,因此您知道它不好。

编辑:

if(!value.match(/\d{3,}/)){
    return false;
}else{
    return true;
}
//Or, as Julian Descottes *almost* pointed out, simply return the value of the function
return !!value.match(/\d{3,}/);

重新阅读OP,我不确定这是否完全符合预期的行为,因为它会检查3dBits或更多的NUMBERS,但不会计算文本中允许的数字位数

I am 24 and my brother is 29

这有四位数,好不好?

答案 1 :(得分:-2)

^\d{1,2}$将不匹配任何文本,但它将匹配字符串的开头和结尾。因此,它将匹配“34”,但不匹配“1934”“Babylon 5”

您可能想要的是^\D*\d{1,2}\D*$。侧翼 \ D *'表示“将0与无限数量的非数字字符匹配。”