仅验证字符串php中的选定字符(电话号码验证)

时间:2011-02-01 08:34:01

标签: php string validation preg-match

我有一个包含字母数字字符的字符串。 如果字符串仅包含0-9-+或单词NA,则脚本应返回(echo)“true”(仅当NA包含时才应验证NA)没有其他字符,如果字符串包含任何其他字符以及“NA”,则应该回显false,如果字符串包含除指定字符以外的任何其他字符,则脚本应回显“false”。如何使这成为可能?

提前致谢.. :))

blasteralfred

3 个答案:

答案 0 :(得分:3)

if(preg_match('/^(NA|[0-9+-]+)$/',$str)) {
        echo "true\n";
} else {
        echo "false\n";
}

答案 1 :(得分:0)

使用正则表达式非常简单:

$regExp = '/^(?:[0-9+-]+|NA)$/i';
echo preg_match($regExp, $string) ? 'true' : 'false';

然而:

  • 您确定要确保字符串包含0-9-+吗?这将产生以下有效数字:
    • -9 + 9291 ---
    • + 2039-291919 ++ 0203-19293
  • 如果您只想匹配NA而不是nANana,请删除模式末尾的i

答案 2 :(得分:0)

$check1 = preg_match('/^[0-9]{1,}$/', $string);
$check2 = preg_match('/^NA$/', $string);