Regular expression: Difference between revisions

Jump to navigation Jump to search
Line 481: Line 481:
==== 尋找 ASCII 字元 in MySQL ====
==== 尋找 ASCII 字元 in MySQL ====


code:
Code I:
<pre>
<pre>
if (preg_match('/[^\x20-\x7f]/', $keyword) === 0) {
if (preg_match('/[^\x20-\x7f]/', $keyword) === 0) {
Line 497: Line 497:
** {{kbd | key=<nowiki>[^\x20-\x7f]</nowiki>}} 表示「任何不在 \x20 到 \x7f 範圍內的字符」
** {{kbd | key=<nowiki>[^\x20-\x7f]</nowiki>}} 表示「任何不在 \x20 到 \x7f 範圍內的字符」
這個範圍 {{kbd | key=<nowiki>(\x20-\x7f)</nowiki>}} 基本上涵蓋了所有可印刷的 ASCII 字符;不符合條件,則表示字串中包含非 ASCII 字符 (如中文、日文等)
這個範圍 {{kbd | key=<nowiki>(\x20-\x7f)</nowiki>}} 基本上涵蓋了所有可印刷的 ASCII 字符;不符合條件,則表示字串中包含非 ASCII 字符 (如中文、日文等)
Code II
<pre>
$pattern = '/^[[:ascii:]]+$/i';
$text = "Hello World"; // ASCII only
if (preg_match($pattern, $text)) {
    echo "純 ASCII 字元";
} else {
    echo "包含非 ASCII 字元";
}
$text = "Hello 世界"; // Contains non-ASCII
if (preg_match($pattern, $text)) {
    echo "純 ASCII 字元";
} else {
    echo "包含非 ASCII 字元";
}
</pre>
Explanation:


==== 尋找英文字、數字、破折號(-)或底線(_)字元 in MySQL ====
==== 尋找英文字、數字、破折號(-)或底線(_)字元 in MySQL ====

Navigation menu