正则表达式只允许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个连续数字。
@"(?