我在 JavaScript 中使用正则表达式验证日期,但是当我运行 SonarQube 进行代码分析时。它将正则表达式显示为一个安全漏洞。
示例1:
以下是正则表达式模式(链接到正则表达式来源/sf/answers/1085341421/):
^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[13-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$
Run Code Online (Sandbox Code Playgroud)
示例2:
对于浮动值,我使用了下面的正则表达式
^\d{1,5}(?:\.\d{1,5})?$
Run Code Online (Sandbox Code Playgroud)
SonarQube 抛出相同的安全错误,我尝试了各种不同的正则表达式模式,但它不起作用。