正規表現 †
エスケープシーケンス †
エスケープシーケンス | 内容 |
¥t | タブ |
¥n | 改行 |
¥¥r | キャリッジリターン |
¥¥0?? | 制御コード 8進数 |
¥¥x?? | 制御コード 16進数 |
主な制御コード †
8進数 | 16進数 | 対応する文字 |
011 | x09 | 水平タブ ¥t |
012 | x0a | 改行 ¥n |
013 | x0b | 垂直タブ |
014 | x0c | 改ページ |
015 | x0d | 復帰(キャリッジリターン) ¥r |
040 | x20 | 半角スペース |
定義済み関数 †
※¥s、¥S、¥f は PHP では使用できない?
定義済み文字クラス | 内容 |
¥d | 数字 [0-9] |
¥D | 数字以外 [^0-9] |
¥w | 英数字の単語 [_a-zA-Z0-9] |
¥W | 英数字の単語以外 [^_a-zA-Z0-9] |
¥s | 空白 [ ¥t¥n¥r] |
¥S | 空白以外 [^ ¥t¥n¥r] |
¥b | 単語境界 ¥w と ¥W の間 |
¥B | 単語境界以外 |
graph | 印字可能かつ表示可能な文字(スペースは印字可能だが表示可能ではない) |
alnum | アルファベットと(十進)数字 |
正規表現コード †
A~Zの文字列と半角スペースのみを許可する場合 †
function check($value) {
if (preg_match('/^[A-Z\x20]+$/', $value)) {
return true;
}
return false;
}
全角スペースをエラーとする(UTF-8) ※動作確認してません †
$result =check("て すと てすと\n aaa");
var_dump($result);
function check($value) {
if (preg_match("/(\xE3\x80\x80)/", $value)) {
echo "エラー"
}
}
全角文字をエラーとする(UTF-8) ※動作確認してません †
例1 †
※これは微妙な例ですよ。
※文字コードについて。EUC-JP。
$str = "\n aa-12a";
$str = mb_convert_encoding($str, "EUC-JP", "UTF-8");
$result = check2($str);
function check2($value) {
if(preg_match("/[\x8E\xA1-\xFE][\xA1-\xFE]/", $value)) {
echo "エラー";
}
}
例2 †
if(!preg_match("/^[[:alnum:][:space:][:graph:]]+$/", $values)) {
echo "エラー";
}
記号以外の文字かどうか †
if (preg_match('/^([ぁ-煕|0-9a-zA-Z]+)$/', trim($value), $match)) {
echo "記号以外です";
}
Comment †
- 1 -- 1?
- 1 -- 1?
- 1 -- -1'?
- 1 -- 1?
- 1 -- 1?
- <("[^"]*"|'[^']*'|[^'">])*> --