识别具有特殊字符的字符串

时间:2015-05-12 11:45:34

标签: php regex

我没有。字符串,我想识别那些有特殊字符的字符串。

我正在尝试这样做

if (!preg_match('/[^A-Za-z0-9]/', $url)) {
    echo "special character";
}

我也尝试过:

if (ctype_alnum($url)) {
    echo "special character";
}

我想要允许的字符为a-z, A-Z, 0-9,_,-,/

我的包含特殊字符的字符串就像

  

torbjörn-hallber等。

我该怎么做?请帮忙。

1 个答案:

答案 0 :(得分:3)

preg_match的第一次尝试是好的,只是不要否定返回值。

if (preg_match('/[^A-Za-z0-9]/', $url)) {
    echo 'special character';
}

您希望允许包含/的更多字符,因此我使用~作为分隔符。

if (preg_match('~[^a-z0-9/_-]~i', $url)) {
    echo 'special character';
}