如何将此PHP正则表达式转换为Javascript?

Don*_*mmy 3 javascript php regex

我尝试转换这个:

$regex = "/^[0-9]+[0-9\.]*(?<!\.)$/"
Run Code Online (Sandbox Code Playgroud)

对所有这些,但没有一个是正确的:

var regex = /^(?!\.$)[0-9]+[0-9\.]*/;
var regex = /^(?!.*\.$)[0-9]+[0-9\.]*/;
var regex = /^[0-9]+[0-9\.]*(?!\.$)/;
Run Code Online (Sandbox Code Playgroud)

PHP的正则表达式正确地拒绝1.1a1.,但JavaScript的正则表达式的没有.

Pau*_*aul 6

您的PHP Regex可能更好地编写如下,它匹配相同的语言,但更容易阅读,不需要使用负面的后视:

$regex = "/^\d+(\.\d+)*$/"
Run Code Online (Sandbox Code Playgroud)

将它直接转换为Javascript正则表达式也很容易:

var regex = /^\d+(\.\d+)*$/;
Run Code Online (Sandbox Code Playgroud)