我一直在試圖檢查一個字符串值是否以一個數值或空格開始,並相應地採取行動,但它似乎沒有工作。這裏是我的代碼:PHP:正則表達式匹配字符串前面沒有數字或空格
private static function ParseGamertag($gamertag)
{
$safetag = preg_replace("/[^a-zA-Z0-9\s]+/", "", $gamertag); // Remove all illegal characters : works
$safetag = preg_replace("/[\s]+/", "\s", $safetag); // Replace all 1 or more space characters with only 1 space : works
$safetag = preg_replace("/\s/", "%20", $safetag); // Encode the space characters : works
if (preg_match("/[^\d\s][a-zA-Z0-9\s]*/", $safetag)) // Match a string that does not start with numerical value : not working
return ($safetag);
else
return (null);
}
所以hiphop112
是有效的,但112hiphip
無效。 0down
無效。
第一個字符必須是英文字母[a-zA-Z]
。
任何幫助,非常感謝。
謝謝你,偉大的解釋。 –