有谁能告诉我如何写这个正则表达式“没有多个连字符或双引号被授权!”? 我试过[^“ - ] *。但好看不会过去。
答案 0 :(得分:2)
在这些行之间阅读,听起来像你可能试图通过阻止用户输入引号字符或SQL注释来阻止SQL注入攻击?如果这就是你想要做的事情,那么这就不是这样做的了。
您实际需要做的是确保您的字符串已正确转义。如果您的SQL字符串被正确转义,那么任何数量的连字符或引号都不会导致您出现问题,因此不需要阻止连字符或引号或任何其他危险字符。
答案 1 :(得分:1)
我假设你只是想测试一个字符串以确保它没有任何"
或--
我会使用它:
("|--)
如果没有匹配,则字符串正常。
如果这不是您想要的,请提供更多信息+示例。
答案 2 :(得分:0)
Paul处于正确的轨道上,但如果你想要一个没有引号或双连字符的字符串的正则表达式为True,请使用否定前瞻断言:
^(?:(?!"|--).)*$