Regex用于JavaScript中的非特定版本控制



我正在尝试设置一种方法来防止JavaScript中的某些字段输入。我的大多数字段都根据/^d*$/.test(value)进行检查,这将防止任何输入被键入或显示为非数字。

一个特定的字段使用/^[d.]*$/.test(value),它允许放置任意数量的数字和小数。

我的问题是,十进制正则表达式允许输入任何数字,特别是小数的组合。我正试图阻止诸如"…."、"13.24..36"、"2.2."等的输入。

有人能提供一个正则表达式吗?它必须以数字开头,以数字结尾,可以有小数,也可以没有小数,并防止两个小数放在一起?(如..<-除非后面跟着另一个数字,否则阻止第二个(

d+(?:.?d+)?匹配一个或多个数字,以及可选的一组点和多个数字

这仍然允许像.2这样的匹配,但您可以检查数字前面是否没有点:(?<!.),后面是否有点:(?!.)

然后,完整的模式变为(?<!.)d+(?:.?d+)?(?!.)。请记住,并不是所有JavaScript环境都支持反向查找(?<!...)。(目前Node.js和Chrome都支持(。

相关内容

  • 没有找到相关文章

最新更新