PHP 正则表达式只匹配某些字符
PHP Regex to Match Only Certain Characters
我会检查用户是否提交了有效的标题。标题必须仅包含:
- 字母字符(小写或大写)
- 数字
- 空格
- 括号
- 单引号和双引号
- 检查标题是否只用单引号或双引号填充
规避上述正则表达式。
我怎样才能做到这一点?
这应该有效
if(
preg_match('/^[a-z0-9] ](])\'\"]+$/i',$string) &&
strlen(preg_replace('/[\'\"]+/','',$string)))){
//passed
}
else{
//failed
}
这是一个可行的示例:
/^(?!['"]+$)[a-z\d \(\)'"]+$/i
要在 PHP 代码中使用它,请执行以下操作:
$str = 'foo234234bar()"""';
$regex = '/^(?![\'"]+$)[a-z\d \(\)\'"]+$/i';
if (preg_match($regex, $str)) {
echo "match found!";
} else {
echo "no match";
}
我会检查用户是否提交了有效的标题。标题必须仅包含:
- 字母字符(小写或大写)
- 数字
- 空格
- 括号
- 单引号和双引号
- 检查标题是否只用单引号或双引号填充 规避上述正则表达式。
我怎样才能做到这一点?
这应该有效
if(
preg_match('/^[a-z0-9] ](])\'\"]+$/i',$string) &&
strlen(preg_replace('/[\'\"]+/','',$string)))){
//passed
}
else{
//failed
}
这是一个可行的示例:
/^(?!['"]+$)[a-z\d \(\)'"]+$/i
要在 PHP 代码中使用它,请执行以下操作:
$str = 'foo234234bar()"""';
$regex = '/^(?![\'"]+$)[a-z\d \(\)\'"]+$/i';
if (preg_match($regex, $str)) {
echo "match found!";
} else {
echo "no match";
}