检测特殊字符的子集php

时间:2012-03-30 22:38:14

标签: php preg-match

我有一个字符串,字符串的有效性定义为:

  1. 该字符串可以包含字母数字字符或(_)或(。)或( - )。
  2. 不允许使用其他特殊字符。
  3. 有没有办法只允许php中的某些特殊字符?

2 个答案:

答案 0 :(得分:2)

你可以使用这样的代码only allow一个带有允许字符集的文本:

if (preg_match('/^[\w.-]+$/', $str))
    echo "valid $str\n";
else
    echo "invalid $str\n";

答案 1 :(得分:0)

您可以尝试循环遍历字符串中的每个字符并单独检查

for($i = strlen($string); $i >= 0; $i--)
{
    $check = $string[$i];
    if(ctype_alnum($check) || $check == "_" || $check == "." || $check == "-")
    {
        //Code if good

    }
    else
    {
        //Code if bad
    }
}