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

时间:2013-06-10 18:26:31

标签: php javascript regex

我尝试转换这个:

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

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

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

PHP正则表达式正确拒绝1.1a1.,但javascript正则表达式没有。

1 个答案:

答案 0 :(得分:6)

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

$regex = "/^\d+(\.\d+)*$/"

将其直接翻译为Javascript正则表达式也很容易:

var regex = /^\d+(\.\d+)*$/;