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')