正则表达式只允许10位以下的数字?

我正在尝试编写一个正则表达式来validation输入是一个纯正的整数(最多10位数,但我在其他地方应用该逻辑)。

现在,这是我正在使用的正则表达式(我从这里得到):

^(([1-9]*)|(([1-9]*).([0-9]*)))$ 

在这个function:

 if (/^(([1-9]*)|(([1-9]*).([0-9]*)))$/.test($('#targetMe').val())) { alert('we cool') } else { alert('we not') } 

但是,我似乎无法让它工作,我不确定它是正则表达式还是函数。 我需要禁止%,. 和’以及。 我只想要数字字符。 谁能指出我正确的方向?

你可以这样做:

 /^[0-9]{1,10}$/ 

码:

 var tempVal = $('#targetMe').val(); if (/^[0-9]{1,10}$/.test(+tempVal)) // OR if (/^[0-9]{1,10}$/.test(+tempVal) && tempVal.length<=10) alert('we cool'); else alert('we not'); 

参考现场演示

 var value = $('#targetMe').val(), re = /^[1-9][0-9]{0,8}$/; if (re.test(value)) { // ok } 

你需要一个正则表达式吗?

 var value = +$('#targetMe').val(); if (value && value<9999999999) { /*etc.*/ } 
  var reg = /^[0-9]{1,10}$/; var checking = reg.test($('#number').val()); if(checking){ return number; }else{ return false; } 

这是盲目复制代码的问题。 你复制的正则表达式是包含任意位数的浮点数的数字 – 并且它是错误的,因为它不允许小数点前的数字0

你想要以下正则表达式:

 ^[1-9][0-9]{0,9}$ 

使用此正则表达式仅匹配十位数:

 @"^\d{10}$" 

要在字符串中的任何位置查找十个连续数字的序列,请使用:

 @"\d{10}" 

请注意,这也将找到11位数字的前10位数字。 要在字符串中的任何位置搜索正好10个连续数字。

 @"(?