Regex只允许10位以下的数字

Regex to only allow numbers under 10 digits?

本文关键字:数字 10位 Regex      更新时间:2023-09-26

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

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

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

在这个函数中:

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');

参考LIVE DEMO

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;
  }

这就是盲目复制代码的问题。您复制的regex适用于数字,包括具有任意位数的浮点数-这是错误的,因为它不允许数字0在小数点前。

您需要以下正则表达式:

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

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

@"^'d{10}$"

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

@"'d{10}"

注意,这也将查找11位数字的前10位数字。在字符串的任意位置搜索恰好10个连续数字。

@"(?<!'d)'d{10}(?!'d)"

查看这个网站,你可以在这里学习JS的定期过期。如何创造这个?

https://www.regextester.com/99401