繁体   English   中英

如何编写 javascript 正则表达式,它接受数字范围在 8 到 15 integer 之间的十进制数?

[英]how to write javascript regular expression that accept number range between 8 to 15 integer with decimal number also?

我想让 javascript 正则表达式只匹配 8 到 15 之间的数字(不是负值)。 正则表达式也应该接受小数点,如 8.7 或 9.5 等等,直到 15。

/^0*([89]|1[0-5])$/

我试过上面的正则表达式,但它不允许小数点。 谁能帮我制作 javascript 正则表达式?

您可以使用以下内容:

/^0*(?:[89]|1[0-5])(?:\.\d)?$/

但这将允许15.99999999 ,因为 integer 部分( 15 )是允许的。 要限制它,您必须使用不同的大小写,例如:

/^0*(?:(?:[89]|1[0-4])(?:\.\d)?|15(?:\.0+)?)$/

检查regex101.com

但我不得不提一下,使用正则表达式验证数字并不是一个好主意。

以下是更高性能和更语义化的:

const number= +input
if (8<=number && number<=15){
  //Valid number
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM