我需要验证我的描述文本区域中仅包含 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 位或少于 2 位数字的文本。它还将包含文本。我尝试过**regex**
但没有结果。我尝试过
if(value.match(/^\d{1,2}$/)){
return false;
}else{
return true;
}
方法
有效的 :
this is 22 years old
无效的 :
this is 222 years old
任何人都可以建议我任何解决方案。在此先感谢。
没有任何实现代码很难说...
但是您需要从您的正则表达式中删除^
and $
,它们分别表示字符串的开头和结尾。
您最好尝试查找超过 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,我不确定这是否正是预期的行为,因为它检查 3digits 或更多的 NUMBERS,但不计算文本中允许的数字数量
I am 24 and my brother is 29
这有4位数字,是好是坏?
^\d{1,2}$
不会匹配任何文本,但会匹配字符串的开头和结尾。因此,它将匹配"34"但不匹配"1934"或"Babylon 5"。
你可能想要的是^\D*\d{1,2}\D*$
. 侧面的\D* 的意思是“将 0 匹配到无限数量的非数字字符”。