判断只能输入0-100之间的任意数字,不包括0和100,正则应该怎么写?在线等,解决了马上结帖,急

时间:2021-10-23 19:00:55
rt

只能输入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?$/

#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  等等这样的任意小数

#7


为什么一定要用正则?
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..

#13


<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有自动类型转化

#17


如果不想使用 0000432 这种形式呢?

我认为还是正则来得容易性~

一个表达式搞定,想怎样就怎样: 

      /^[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?$/

#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  等等这样的任意小数

#7


为什么一定要用正则?
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..

#13


<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有自动类型转化

#17


如果不想使用 0000432 这种形式呢?

我认为还是正则来得容易性~

一个表达式搞定,想怎样就怎样: 

      /^[1-9]\d?(\.\d+)?$|^0\.\d*[1-9]\d*$/

#18


zhiin(稚鹰来CSDN交朋友) 的正则,我试了,可以,非常感谢,

也谢谢其它朋友的帮助,我学到不少东西!