14,953
edits
Tags: Mobile edit Mobile web edit |
(→尋找英文字) |
||
| Line 478: | Line 478: | ||
參考資料 | 參考資料 | ||
* [https://stackoverflow.com/questions/401771/how-can-i-find-non-ascii-characters-in-mysql How can I find non-ASCII characters in MySQL? - Stack Overflow] | * [https://stackoverflow.com/questions/401771/how-can-i-find-non-ascii-characters-in-mysql How can I find non-ASCII characters in MySQL? - Stack Overflow] | ||
==== 尋找 ASCII 字元 in MySQL ==== | |||
code: | |||
<pre> | |||
if (preg_match('/[^\x20-\x7f]/', $keyword) === 0) { | |||
echo "The keyword is ASCII only"; | |||
} | |||
</pre> | |||
Explanation: | |||
* {{kbd | key=<nowiki>/[^\x20-\x7f]/</nowiki>}} 是一個正規表達式: | |||
** {{kbd | key=<nowiki>\x20</nowiki>}} 代表空格字符 (ASCII 32) | |||
** {{kbd | key=<nowiki>\x7f</nowiki>}} 代表 DELETE 字符 (ASCII 127) | |||
** {{kbd | key=<nowiki>[^\x20-\x7f]</nowiki>}} 表示「任何不在 \x20 到 \x7f 範圍內的字符」 | |||
這個範圍 {{kbd | key=<nowiki>(\x20-\x7f)</nowiki>}} 基本上涵蓋了所有可印刷的 ASCII 字符 | |||
=== 0 表示沒有匹配到任何不在這個範圍的字符 | |||
如果返回 0,表示字串中只包含 ASCII 字符 | |||
如果返回 1,表示字串中包含非 ASCII 字符(如中文、日文等) | |||
==== 尋找英文字、數字、破折號(-)或底線(_)字元 in MySQL ==== | ==== 尋找英文字、數字、破折號(-)或底線(_)字元 in MySQL ==== | ||