我有一個字符串包含字母數字字符。 如果字符串只包含0-9
,-
,+
或NA
(只有當NA不包含其他字符時才應該驗證NA,並且如果該字符串包含任何其他字符,則應回顯爲假),該腳本應該返回(回顯)「true」與「NA」),如果字符串包含除指定字符以外的任何其他字符,腳本應該回顯「false」。我如何使這可能?只驗證字符串php中的選定字符(電話號碼驗證)
在此先感謝.. :)
blasteralfred
我有一個字符串包含字母數字字符。 如果字符串只包含0-9
,-
,+
或NA
(只有當NA不包含其他字符時才應該驗證NA,並且如果該字符串包含任何其他字符,則應回顯爲假),該腳本應該返回(回顯)「true」與「NA」),如果字符串包含除指定字符以外的任何其他字符,腳本應該回顯「false」。我如何使這可能?只驗證字符串php中的選定字符(電話號碼驗證)
在此先感謝.. :)
blasteralfred
if(preg_match('/^(NA|[0-9+-]+)$/',$str)) {
echo "true\n";
} else {
echo "false\n";
}
它使用正則表達式很簡單:
$regExp = '/^(?:[0-9+-]+|NA)$/i';
echo preg_match($regExp, $string) ? 'true' : 'false';
但是:
0-9
,-
和+
?這將使下面的有效數字:
NA
而不是nA
,Na
和na
,在模式結束時刪除i
。$check1 = preg_match('/^[0-9]{1,}$/', $string);
$check2 = preg_match('/^NA$/', $string);
不起作用。你需要將[0-9 + - ] + | na`分組 – codaddict 2011-02-01 08:44:43