Skip to content

开始

问题如下

js
    let regx = new RegExp("^[0-9]+(\.[0-9]{0,2})?$") 
    regx.test('0')    // ??  => true
    regx.test('0x')   // ??  => true

这个结果就很奇怪了。 还以为是执行环境出错了。去查阅了一波MDN文档。有这么一句话使用 new RegExp("pattern") 的时候不要忘记将 \ 进行转义,因为 \ 在字符串里面也是一个转义字符。

js
    let newRegx = new RegExp("^\\b+(\.\\b{0,2})?$")  //解决