2
A
回答
0
例如這一個[^ A-ZA-Z0-9 \,\ \ - ]?
0
2
由於您的評論你提到的地址,他們可能包含數字了。所以:
preg_replace('/[^[:alpha:][:punct:][:digit:]]/u', utf8_encode($input), '');
應該替換你不需要的字符。不過,如果您的語言環境設置正確,[:alpha:]
類纔會有效。例如,如果它被設置爲de_DE
,則不僅「a」到「z」被認爲是字符,而且還像「ä」,「ö」,「è」等那樣是「exotics」。
此外,由於您不想要「俄語,日語等」,請注意u
修飾符。輸入必須是UTF-8編碼,以便不破壞它並給你錯誤的結果。
0
使用hex codes,例如這將清除所有非ascii字符以及行尾,並用空格替換它們。空間(\x20
)故意不在該範圍內,以便連續運行的空格和/或特殊字符被替換爲單個空格。
$clean = trim(preg_replace('/[^\x21-\x7E]+/', ' ', $input));
-1
if (strlen($str) == strlen(utf8_decode($str))) {
}
相關問題
- 1. 正則表達式拒絕非字母數字字符
- 2. 正則表達式匹配英文和非英文字符
- 3. 的Javascript正則表達式來拒絕非ASCII美國字符
- 4. 正則表達式拒絕'_'
- 5. 正則表達式對非英文字符
- 6. JavaScript中不允許非英文字符的正則表達式
- 7. 語法拒絕與正則表達式
- 8. 拒絕的話用正則表達式
- 9. 正則表達式拒絕特定值
- 10. PHP拒絕這個正則表達式
- 11. 正則表達式拒絕逗號以外的特殊字符
- 12. 正則表達式拒絕特殊字符
- 13. 麻煩我正則表達式拒絕特定的字符
- 14. 如何使用正則表達式來拒絕元字符
- 15. 正則表達式拒絕特定字符; *&%^ =「」
- 16. JavaScript中的正則表達式拒絕3個連續字符
- 17. 正則表達式拒絕連續字符
- 18. MySQL的正則表達式的非英語字符
- 19. 正則表達式非ASCII字符
- 20. 非重複字符正則表達式
- 21. 非字符串的正則表達式
- 22. 只有英文和數字字符的Javascript正則表達式
- 23. PHP正則表達式來破譯英文和中文字符
- 24. 正則表達式:匹配其他字符(其中一些是非英文的)
- 25. 只有英文特殊字符的正則表達式
- 26. 正則表達式驗證和消毒所有英文和非英文unicode字母字符在PHP中
- 27. 如何使用vba的正則表達式爲非英文字母創建正則表達式5.5
- 28. 正則表達式到英文
- 29. 僞英文到正則表達式
- 30. 正則表達式接受一個字,拒絕其他
你爲什麼想限制英文字符,但允許所有punctuation‽你真的想限制輸入到ASCII字符? – 2011-01-10 21:56:03
可能與http://stackoverflow.com/questions/4619603/php-validate-string-characters-are-uk-or-us-keyboard-characters/4619747 – 2011-01-10 21:57:16
@Anon - 名稱和地址通常包括撇號,逗號,期限等。想要規範化數據,所以一切都是英文的。 – 2011-01-10 22:15:20