我正在尝试编写一个正则表达式来验证输入是一个纯正的整数(最多10位数,但我在其他地方应用该逻辑)。
现在,这是我正在使用的正则表达式(我从here获得):
^(([1-9]*)|(([1-9]*).([0-9]*)))$
在此功能中:
if (/^(([1-9]*)|(([1-9]*).([0-9]*)))$/.test($('#targetMe').val())) {
alert('we cool')
} else {
alert('we not')
}
然而,我似乎无法让它工作,我不确定它是正则表达式还是函数。我需要禁止%,.和'以及。我只想要数字字符。有人能指出我正确的方向吗?
答案 0 :(得分:20)
你可以这样做:
/^[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
答案 1 :(得分:8)
var value = $('#targetMe').val(),
re = /^[1-9][0-9]{0,8}$/;
if (re.test(value)) {
// ok
}
答案 2 :(得分:3)
你需要一个正则表达式吗?
var value = +$('#targetMe').val();
if (value && value<9999999999) { /*etc.*/ }
答案 3 :(得分:2)
var reg = /^[0-9]{1,10}$/;
var checking = reg.test($('#number').val());
if(checking){
return number;
}else{
return false;
}
答案 4 :(得分:1)
这是盲目复制代码的问题。你复制的正则表达式是用于数字,包括具有任意位数的浮点数 - 并且它是错误的,因为它不允许小数点前的数字0
。
您需要以下正则表达式:
^[1-9][0-9]{0,9}$
答案 5 :(得分:0)
使用此正则表达式仅匹配十位数字:
@"^\d{10}$"
要在字符串中的任何位置查找十个连续数字的序列,请使用:
@"\d{10}"
请注意,这也会找到11位数字的前10位数字。要在字符串中的任何位置搜索正好10个连续数字。
@"(?<!\d)\d{10}(?!\d)"
答案 6 :(得分:0)
在此处检查此站点,您可以了解JS Regular Expiration。如何创建呢?