我有一个通过隐藏输入字段传递的 tcl 变量 $value。什么是一个好的正则表达式来检查 SQL 注入。
我希望它只允许数字以防万一。
我希望它在另一种情况下只允许字符。
数字和字符都在另一种情况下。
在所有 3 种情况下,我不希望包含任何特殊字符
我有一个通过隐藏输入字段传递的 tcl 变量 $value。什么是一个好的正则表达式来检查 SQL 注入。
我希望它只允许数字以防万一。
我希望它在另一种情况下只允许字符。
数字和字符都在另一种情况下。
在所有 3 种情况下,我不希望包含任何特殊字符
switch $case {
case1 {set regex {^[[:digit:]]+$}}
case2 {set regex {^[[:alpha:]]+$}}
case3 {set regex {^[[:alnum:][:space:]]+$}}
default {error "what case is this?"}
}
if {! [regexp $regex $value]} {
error "invalid value: value"
}
删除不匹配的字符
switch $case {
case1 {set regex {\D}}
case2 {set regex {[^[:alpha:]]}}
case3 {set regex {[^[:alnum:][:space:]]}}
}
set safe_value [regsub -all $regex $value ""]