javascript - 为什么 /0(\.\d+)?|1/.test('0.') 返回 true?
问题描述
甚至/0(\.\d+)?|1/.test('...0.0.0')
返回true
......我只想得到一个正则表达式来测试 0 到 1 之间的数字。
解决方案
您需要使用 and 锚定正则表达式^
,$
否则如果可以在字符串中的任何位置找到该模式,则它匹配。
console.log(/^(0(\.\d+)?|1)$/.test('...0.0.0'));
console.log(/^(0(\.\d+)?|1)$/.test('0.1'));
console.log(/^(0(\.\d+)?|1)$/.test('2.3'));
推荐阅读
- android - 为什么某些android设备的内部存储中没有创建文件夹?
- java - 如何将值从递归方法传递给调用它的方法?
- javascript - HTML, CSS 优化页面太多图片
- matrix - 将未知大小的矩阵读取到 Fortran
- c++ - 是什么导致我的代码中的堆损坏和无关值?
- java - 快速转义闭包以及如何在 Java 中执行它
- kubernetes-helm - 允许pod通过ingress访问service的域名
- sql-server - 在代码点火器 MSSQL 上使用连接删除返回错误
- javascript - 未使用 jquery 和 javascript 检查 CheckBox
- java - Weblogic 失败并出现错误:org.springframework.beans.factory.BeanCreationException:创建带有名称的 bean 时出错