我知道還有其他方法可以做到這一點,但我正在使用ctype_alpha驗證名稱字段,但允許使用空格,連字符和撇號。使用ctype_alpha時允許使用撇號嗎?
在Stack上的另一篇文章中,我能夠添加空格沒有問題,但我認爲我有用於替換多個字符的語法錯誤。
我到目前爲止,對於驗證,只有字母和空格是允許使用的作品:
if (ctype_alpha(str_replace(' ', '', $name)) === false) {
echo'Name must contain letters and spaces only';
exit;
}
這個檢查字符串只有字母之前刪除任何空格。我正在尋找簡單地添加到這也允許連字符和撇號。
我試着添加連字符和/或撇號是什麼(不工作):
if (ctype_alpha(str_replace(' ', '', '-', '', $name)) === false) {
echo'Name must contain letters and spaces only';
exit;
}
我的猜測是,在str_replace函數功能添加第二個字符串不是正確的語法,但作爲一個PHP新手,我很難找出如何將我的搜索短語找出正確的語法。
另外,我正確地說'\ w'會覆蓋我的撇號,一旦我找出str_replace函數的正確語法?
真誠感謝幫助的人。你是無價的,我努力不要濫用它。
這絕對適用於添加連字符,但我假設我不能只在其中添加撇號。我在另一篇文章中嘗試過'\ w'和'\ w +',但都沒有正常工作。 換句話說,我嘗試過: if(ctype_alpha(str_replace(array('','\ w +',' - '),'',$ name))=== false){ echo'Name must只包含字母和空格'; 退出; } ...與'\ w +'的其他變體。 – sforcash
@sforcash撇號添加 – rtfm
謝謝。巨大的幫助。 – sforcash