我想使javascript正则表达式仅匹配8到15之间的数字(而不是负值)。正则表达式还应接受小数点,例如8.7或9.5,以此类推,直到15。
/^0*([89]|1[0-5])$/
我已经尝试了上述正则表达式,但是不允许使用小数点。谁能帮助我制作javascript正则表达式?
您可以使用以下内容:
/^0*(?:[89]|1[0-5])(?:\.\d)?$/
但是将允许15.99999999
,因为允许整数部分(15
)。要限制它,您必须为其使用不同的大小写,例如:
/^0*(?:(?:[89]|1[0-4])(?:\.\d)?|15(?:\.0+)?)$/
但是我不得不提到,使用正则表达式验证数字并不是一个好主意。
下面的代码性能更高,语义更多:
const number= +input
if (8<=number && number<=15){
//Valid number
}