繁体   English   中英

正则表达式Javascript-无效的正则表达式:数字输入无需重复

[英]Regex Javascript - Invalid regular expression: Nothing to repeat for number input

我有这个正则表达式模式/^-?+(\\d+)?+([\\.\\,]?\\d?+)/ 它必须允许-在开始时用负号表示,还允许零值和任何只带有一个点或逗号的数字。 我在https://regex101.com/上对其进行了测试,但在这里工作正常,但是当我想在我的React项目中使用时,出现此错误,并且不完全知道是什么原因导致了这个问题。

模块解析失败:无效的正则表达式:/^-?+(\\d+)?+([.\\,]?\\d?+)/:无可重复(22:26)

  • +是正则表达式中的元字符,它充当量词,如果要字面匹配+ ,则需要对其进行转义
  • [\\] - , and .之前的内部字符类, and . 不需要

您可以将正则表达式更新为此

^[-+]?(\d+)(?:[.,]?\d+)?$

在此处输入图片说明

 let nums = ["-1234", "+1232,1232", "+1234.12342,123"] nums.forEach(num => { console.log(/^[-+]?(\\d+)(?:[.,]?\\d+)?$/.test(num)) }) 

Regex Demo

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM