似乎ESlint最近添加了选项:
“容忍。和[^ ...]在/ RegEx /".
为什么在正则表达式中使用.
或^
会不好?
答案 0 :(得分:5)
它们匹配的材料超出预期,允许攻击者混淆应用程序。在安全应用程序中进行验证时,不应使用这些表单。
这似乎是基于这样一种理念,即对您允许的内容进行具体说明,而不是允许任何内容(包括多字节和非打印字符).
或允许除x,y和z之外的任何内容(如{{{ 1}}意味着)
这背后的理由是有些人不明白
[^…]
并且.
表示正则表达式,因此它会使其代码接受 一些东西在它不存在时是有效的,或拒绝某些有效的东西。