
PHPで半角英数、全角文字の組み合わせを許可する正規表現の記述方法を教えてください。
PHPで、ウェブサービスをUTF-8で構築中です。入力項目のうち、1項目を半角英数(0-9、a-z、A-Z)と全角文字の利用を許可したいと考えています。
正規表現を使って判断しようとし、検索して調べてました。しかし、半角英数のみとか、全角文字のみで構成されている場合、という例は見つかるのですが、半角英数と全角文字の複合のみをチェックする方法がわからずにおります。
この
・半角英数、または全角文字で構成されている
という条件をチェックする記述方法を教えてください。
今回除外したいのは、半角の記号(0-9、a-z、A-Z以外の半角文字)ですので、
・半角の記号が含まれている
という条件をチェックする記述方法でもかまいません。
また、正規表現でなくても実現できるのであれば、正規表現にこだわる必要もありません。
よろしくお願いいたします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
なんとも言えませんが、こんな感じ?
<?php
$str="^aA#zZ!あ漢$";
$pattern="/[^ -\/:-@\[-`{-~]/u";
preg_match_all($pattern,$str,$match);
print_r($match);
?>
スペースとかタブとか特殊文字どうするのかもいまいち疑問
この回答への補足
>なんとも言えませんが、こんな感じ?
説明が足りませんでしたね、申し訳ありません。
ここではニックネームを入力してもらい、半角英数(0-9、a-z、A-Z)と全角文字のみで構成されていればOK、そのほかの文字が入っていたらNGという判定をしたいのです。
・半角英数のみ、全角のみ、半角英数、全角の混合、いずれもOKです
NG後の処理は別途書きますので、OKかNGかを判別できれば、と思います。
スペースはこの処理の前に削除していますので、特に必要はないのですが、このような文字も一括で省けるのであれば、一緒に処理したいと思います(というか、$patternにスペースも含まれているのですね)。
ご呈示していただいたサンプルですと、$matchに配列で1文字ずつ入力されているように思います。
上記のようにOKなのかNGなのかを判断するのは、$strと$matchの配列の文字をつなげて比べてみる、という方法を取る、ということでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessの文字数を調べたい
-
文字の入力で横バー上段、中断...
-
全角英数文字が嫌われる理由を...
-
半角記号、全角記号を含む正規...
-
エクセルのCOUNTIFが正しくカウ...
-
全角括弧と全角読点の間隔を狭...
-
半角スペース の文字化け...
-
全角カタカナの正規表現
-
Postgresの特定のカラムからス...
-
全角半角あわせて3文字
-
VBのソース検索で、コメントア...
-
Phonetic関数を利用して文章中...
-
VBAのコマンドボタンの文字列の...
-
文字化け変換方法
-
texのchapterが改行される
-
ソースコードの1行が長いとき...
-
【PHP】mb_convert_encoding...
-
文字列を文字コードの数値に変...
-
テキストボックスに改行を含む...
-
jsp 改行コードで改行させて表...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PPT ファイルの文字カウント=...
-
文字の入力で横バー上段、中断...
-
エクセルのCOUNTIFが正しくカウ...
-
メッセージボックスで1025文字...
-
Excel関数「COUNTIF」で”文字”...
-
全角括弧と全角読点の間隔を狭...
-
Accessの文字数を調べたい
-
VBAで英数字入力チェックしたい。
-
XMLのタグ名の禁則文字
-
エクセルでの漢字、カタカナ、...
-
全角英数文字が嫌われる理由を...
-
Replace関数は文字数の制限ある...
-
なぜインターネットでは半角カ...
-
=code(" ") で値が160となる文...
-
記号は半角と全角どちらがよい...
-
VBのソース検索で、コメントア...
-
マクロできる方教えてください...
-
半角文字と全角文字の判別の仕方
-
全角半角混在の文字列から○文字...
-
ショートメールの文字数
おすすめ情報