PHPで正規表現…まだまだだけど…
お仕事で、文字入力のチェックをと…
いやぁ確かによくある話なんですけどね、なんというかWeb系のシステムなら、
以前にも書いたように文字コードの問題が…
まぁ全部Shift-JISの環境だとかにしちゃえば大部分には影響は無いのですが…
まぁそんで調べていても拉致があかないので、ごにょごにょと…
そんでもって…'∪'(和集合の記号)とか嫌い(ーー;)
他の漢字もそうだったりするんですけど…
JIS第一水準で
16進のコード値が「81BE」、「879C」などと複数あるし…
なんか連続した文字列だとおもって正規表現で[?-∪]とかで記述するとエラーに…
そんで実際にPHP上での解釈しているコード値を確認すると、
'∪'は「81BE」だとわかったので、[?-?∵∩∪]などとしております。
この文字をチェックと言われとりますが、ちょいと不安だったりも…(-_-;)
ちなみに文字のコード値を確認しているサンプルというか…ガチ書きは
以下をごらんください。
WindowsXPにてXAMMPでかつlocalhostのアパッチ…Shift-JISでのものですので、
環境によっては取得される値が異なるとは思われます。
※bin2hexを使用してますので…
ちなみに、こんなTool便利です♪
漢字コード表
あとWindowsをお使いの場合で、Shift-JISかUnicodeで∪だとか変な記号を入力する時には、
IMEパッドにて、文字一覧を使うと便利ですよ。
わからない人は、全角文字入力にて、Enterキーを押す前にF5キーを押してみましょう♪
$checkChar = array();
$checkChar = "a";
$checkChar = "А";
$checkChar = "Б";
$checkChar = "В";
$checkChar = "Г";
$checkChar = "Д";
$checkChar = "Е";
$checkChar = "Ё";
$checkChar = "Ж";
$checkChar = "З";
$checkChar = "И";
$checkChar = "Й";
$checkChar = "К";
$checkChar = "Л";
$checkChar = "М";
$checkChar = "Н";
$checkChar = "О";
$checkChar = "П";
$checkChar = "Р";
$checkChar = "С";
$checkChar = "Т";
$checkChar = "У";
$checkChar = "Ф";
$checkChar = "Х";
$checkChar = "Ц";
$checkChar = "Ч";
$checkChar = "Ш";
$checkChar = "Щ";
$checkChar = "Ъ";
//$checkChar = "Ы";
$checkChar = "Ь";
$checkChar = "Э";
$checkChar = "Ю";
$checkChar = "Я";
$checkChar = "а";
$checkChar = "б";
$checkChar = "в";
$checkChar = "г";
$checkChar = "д";
$checkChar = "е";
$checkChar = "ё";
$checkChar = "ж";
$checkChar = "з";
$checkChar = "и";
$checkChar = "й";
$checkChar = "к";
$checkChar = "л";
$checkChar = "м";
$checkChar = "н";
$checkChar = "о";
$checkChar = "п";
$checkChar = "р";
$checkChar = "с";
$checkChar = "т";
$checkChar = "у";
$checkChar = "ф";
$checkChar = "х";
$checkChar = "ц";
$checkChar = "ч";
$checkChar = "ш";
$checkChar = "щ";
$checkChar = "ъ";
$checkChar = "ы";
$checkChar = "ь";
$checkChar = "э";
$checkChar = "ю";
$checkChar = "я";
$checkChar = "─";
$checkChar = "│";
$checkChar = "┌";
$checkChar = "┐";
$checkChar = "┘";
$checkChar = "└";
$checkChar = "├";
$checkChar = "┬";
$checkChar = "┤";
$checkChar = "┴";
$checkChar = "┼";
$checkChar = "━";
$checkChar = "┃";
$checkChar = "┏";
$checkChar = "┓";
$checkChar = "┛";
$checkChar = "┗";
$checkChar = "┣";
$checkChar = "┳";
$checkChar = "┫";
$checkChar = "┻";
$checkChar = "╋";
$checkChar = "┠";
$checkChar = "┯";
$checkChar = "┨";
$checkChar = "┷";
$checkChar = "┿";
$checkChar = "┝";
$checkChar = "┰";
$checkChar = "┥";
$checkChar = "┸";
$checkChar = "╂";
$checkChar = "、";
$checkChar = "。";
$checkChar = ",";
$checkChar = ".";
$checkChar = "・";
$checkChar = ":";
$checkChar = ";";
$checkChar = "?";
$checkChar = "!";
$checkChar = "゛";
$checkChar = "゜";
$checkChar = "´";
$checkChar = "`";
$checkChar = "¨";
$checkChar = "^";
$checkChar = " ̄";
$checkChar = "_";
$checkChar = "ヽ";
$checkChar = "ヾ";
$checkChar = "ゝ";
$checkChar = "ゞ";
$checkChar = "〃";
$checkChar = "仝";
$checkChar = "々";
$checkChar = "〆";
$checkChar = "〇";
$checkChar = "ー";
//$checkChar = "―";
$checkChar = "‐";
$checkChar = "/";
$checkChar = "\";
$checkChar = "〜";
$checkChar = "‖";
$checkChar = "|";
$checkChar = "…";
$checkChar = "‥";
$checkChar = "‘";
$checkChar = "’";
$checkChar = "“";
$checkChar = "”";
$checkChar = "(";
$checkChar = ")";
$checkChar = "〔";
$checkChar = "〕";
$checkChar = "[";
$checkChar = "]";
$checkChar = "{";
$checkChar = "}";
$checkChar = "〈";
$checkChar = "〉";
$checkChar = "《";
$checkChar = "》";
$checkChar = "「";
$checkChar = "」";
$checkChar = "『";
$checkChar = "』";
$checkChar = "【";
$checkChar = "】";
$checkChar = "+";
$checkChar = "−";
$checkChar = "±";
$checkChar = "×";
$checkChar = "÷";
$checkChar = "=";
$checkChar = "≠";
$checkChar = "<";
$checkChar = ">";
$checkChar = "≦";
$checkChar = "≧";
$checkChar = "∞";
$checkChar = "∴";
$checkChar = "♂";
$checkChar = "♀";
$checkChar = "°";
$checkChar = "′";
$checkChar = "″";
$checkChar = "℃";
$checkChar = "¥";
$checkChar = "$";
$checkChar = "%";
$checkChar = "#";
$checkChar = "&";
$checkChar = "*";
$checkChar = "@";
$checkChar = "§";
$checkChar = "☆";
$checkChar = "★";
$checkChar = "○";
$checkChar = "●";
$checkChar = "◎";
$checkChar = "◇";
$checkChar = "◆";
$checkChar = "□";
$checkChar = "■";
$checkChar = "△";
$checkChar = "▲";
$checkChar = "▽";
$checkChar = "▼";
$checkChar = "※";
$checkChar = "〒";
$checkChar = "→";
$checkChar = "←";
$checkChar = "↑";
$checkChar = "↓";
$checkChar = "〓";
$checkChar = "∈";
$checkChar = "∋";
$checkChar = "⊆";
$checkChar = "⊇";
$checkChar = "⊂";
$checkChar = "⊃";
$checkChar = "∪";
$checkChar = "∩";
$checkChar = "∧";
$checkChar = "∨";
$checkChar = "⇒";
$checkChar = "⇔";
$checkChar = "∀";
$checkChar = "∃";
$checkChar = "∠";
$checkChar = "⊥";
$checkChar = "⌒";
$checkChar = "∂";
$checkChar = "∇";
$checkChar = "≡";
$checkChar = "≒";
$checkChar = "≪";
$checkChar = "≫";
$checkChar = "√";
$checkChar = "∽";
$checkChar = "∝";
$checkChar = "∵";
$checkChar = "∫";
$checkChar = "∬";
$checkChar = "Å";
$checkChar = "‰";
$checkChar = "♯";
$checkChar = "♭";
$checkChar = "♪";
$checkChar = "†";
$checkChar = "‡";
$checkChar = "¶";
$checkChar = "◯";
foreach($checkChar as $val){
echo $val." :".bin2hex($val);
echo "
";
}