只能输入0-100之间的任意数字,不包括0和100,正则应该怎么写?
18 个解决方案
#1
pattern = /^[1-9]?\d$/
#2
pattern =/^[1-9][0-9]?$/
#3
/^[1-9][0-9]*$/
#4
更正:
pattern = /^[1-9]\d?$/
pattern = /^[1-9]\d?$/
#5
<input type="text" onblur="/^[1-9]\d?$/.test(this.value)">
#6
上面的方法不能满足可以输入小数
我的要求是0~100之间的任意数字,不包括0和100,
任意数字是指可以是整数,也可以是 0.1, 0.2, 1,1, 1.2 ,1.3 , 2.1 等等这样的任意小数
我的要求是0~100之间的任意数字,不包括0和100,
任意数字是指可以是整数,也可以是 0.1, 0.2, 1,1, 1.2 ,1.3 , 2.1 等等这样的任意小数
#7
为什么一定要用正则?
praseFloat不就行了吗?
praseFloat不就行了吗?
#8
parseFloat(this.value)>0 && parseFloat(this.value)<100 && !isNaN(parseFloat(this.value))
#9
<input onblur="alert(/^[1-9]\d?(\.\d+)?$|^0\.\d*[1-9]\d*$/.test(this.value))">
#10
是呀,用parseFloat就搞定了,正则应该用在大点的文本上好些。效率差不多的吧。
#11
用parseFloat恐怕不行吧~~
如果我输入: 1.1a 呢?
同样会被转换为 1.1
同样 isNaN(parseFloat('1.1a'))==false;
#12
倒,这种问题用正则!!!!!!!
parseInt 后 与原来的比较
相同则true,不相同则false..
parseInt 后 与原来的比较
相同则true,不相同则false..
#13
<script>
a="99.1";
b=0+parseFloat(a);
if ( b>=100 || b<=0 || b!=a ) {
alert("输入出错");
}
</script>
a="99.1";
b=0+parseFloat(a);
if ( b>=100 || b<=0 || b!=a ) {
alert("输入出错");
}
</script>
#14
a="99.1asdfb";
#15
00000.01 这种形式算对算错呢?
如果算错 楼上的方法并不可行!
#16
这样的当然是算对了.
你试试
JS有自动类型转化
你试试
JS有自动类型转化
#17
如果不想使用 0000432 这种形式呢?
我认为还是正则来得容易性~
一个表达式搞定,想怎样就怎样:
/^[1-9]\d?(\.\d+)?$|^0\.\d*[1-9]\d*$/
我认为还是正则来得容易性~
一个表达式搞定,想怎样就怎样:
/^[1-9]\d?(\.\d+)?$|^0\.\d*[1-9]\d*$/
#18
zhiin(稚鹰来CSDN交朋友) 的正则,我试了,可以,非常感谢,
也谢谢其它朋友的帮助,我学到不少东西!
也谢谢其它朋友的帮助,我学到不少东西!
#1
pattern = /^[1-9]?\d$/
#2
pattern =/^[1-9][0-9]?$/
#3
/^[1-9][0-9]*$/
#4
更正:
pattern = /^[1-9]\d?$/
pattern = /^[1-9]\d?$/
#5
<input type="text" onblur="/^[1-9]\d?$/.test(this.value)">
#6
上面的方法不能满足可以输入小数
我的要求是0~100之间的任意数字,不包括0和100,
任意数字是指可以是整数,也可以是 0.1, 0.2, 1,1, 1.2 ,1.3 , 2.1 等等这样的任意小数
我的要求是0~100之间的任意数字,不包括0和100,
任意数字是指可以是整数,也可以是 0.1, 0.2, 1,1, 1.2 ,1.3 , 2.1 等等这样的任意小数
#7
为什么一定要用正则?
praseFloat不就行了吗?
praseFloat不就行了吗?
#8
parseFloat(this.value)>0 && parseFloat(this.value)<100 && !isNaN(parseFloat(this.value))
#9
<input onblur="alert(/^[1-9]\d?(\.\d+)?$|^0\.\d*[1-9]\d*$/.test(this.value))">
#10
是呀,用parseFloat就搞定了,正则应该用在大点的文本上好些。效率差不多的吧。
#11
用parseFloat恐怕不行吧~~
如果我输入: 1.1a 呢?
同样会被转换为 1.1
同样 isNaN(parseFloat('1.1a'))==false;
#12
倒,这种问题用正则!!!!!!!
parseInt 后 与原来的比较
相同则true,不相同则false..
parseInt 后 与原来的比较
相同则true,不相同则false..
#13
<script>
a="99.1";
b=0+parseFloat(a);
if ( b>=100 || b<=0 || b!=a ) {
alert("输入出错");
}
</script>
a="99.1";
b=0+parseFloat(a);
if ( b>=100 || b<=0 || b!=a ) {
alert("输入出错");
}
</script>
#14
a="99.1asdfb";
#15
00000.01 这种形式算对算错呢?
如果算错 楼上的方法并不可行!
#16
这样的当然是算对了.
你试试
JS有自动类型转化
你试试
JS有自动类型转化
#17
如果不想使用 0000432 这种形式呢?
我认为还是正则来得容易性~
一个表达式搞定,想怎样就怎样:
/^[1-9]\d?(\.\d+)?$|^0\.\d*[1-9]\d*$/
我认为还是正则来得容易性~
一个表达式搞定,想怎样就怎样:
/^[1-9]\d?(\.\d+)?$|^0\.\d*[1-9]\d*$/
#18
zhiin(稚鹰来CSDN交朋友) 的正则,我试了,可以,非常感谢,
也谢谢其它朋友的帮助,我学到不少东西!
也谢谢其它朋友的帮助,我学到不少东西!