Javascript 找不到正则表达式的错误

Javascript 找不到正则表达式的错误,javascript,regex,Javascript,Regex,我正在制作一个版本过滤器,它接受用户输入作为密钥。此筛选器需要有一个检查机制来禁用非法版本输入。 我的法定版本类似于1.2.3.4,因此我在下面做了一个regexp命令 RegExp('^(\d+\.)*(\d+)$').test('1.2.3.4') 我最初的计划是^(\d+\)的意思类似于123,1。(\d+)$表示一整块数字 但它总是返回错误,使我困惑;我不知道该怎么做才能进一步纠正它 欢迎您提出任何想法或建议。我认为您应该使用以下正则表达式模式: ^\d+(\.\d+)*$ 这将匹配

我正在制作一个版本过滤器,它接受用户输入作为密钥。此筛选器需要有一个检查机制来禁用非法版本输入。 我的法定版本类似于
1.2.3.4
,因此我在下面做了一个regexp命令

RegExp('^(\d+\.)*(\d+)$').test('1.2.3.4')
我最初的计划是
^(\d+\)
的意思类似于
123,1。(\d+)$
表示一整块数字

但它总是返回错误,使我困惑;我不知道该怎么做才能进一步纠正它


欢迎您提出任何想法或建议。

我认为您应该使用以下正则表达式模式:

^\d+(\.\d+)*$
这将匹配一个独立的单个数字,例如
5
,或者一个数字后跟一个点和另一个数字,例如
1.5
,等等。诀窍是使整个
.NUMBER
术语可选

//阳性病例
console.log(/^\d+(\.\d+*$/.test('123'));
console.log(/^\d+(\.\d+*$/.test('1.2.3.4'));
//阴性病例
console.log(/^\d+(\.\d+*$/.test('1'));
console.log(/^\d+(\.\d+*$/.test('Jon Skeet'))

这是对的。谢谢大家。

请参阅-使用正则表达式文字,以避免多次转义反斜杠;这是完美的。如果有多个测试(至少2-3个)并以预期的输出作为注释,那就太好了。e、 g.
console.log(/^\d+(\.\d+*$/.test('1.2.3.4'))//错误
RegExp('^(\\d+\\.)*(\\d+)$').test('1.2.3.4')