
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) Excelで校閲をする方法はあるでしょうか(取扱説明書への掲載禁止用語の確認) 3 2022/06/11 22:51
- Android(アンドロイド) 海外のAndroid 端末の場合、日本語全角は、どう表示されるのでしょうか? 1 2022/10/02 21:16
- Excel(エクセル) エクセルの数式で教えてください。 3 2022/10/25 10:52
- マウス・キーボード macからリモートデスクトップでwindowsに接続した際のキーボード配列 3 2023/07/10 08:40
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- Excel(エクセル) EXCELでの文字・数字入力の基本について教えてください。 2 2023/05/29 23:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字の入力で横バー上段、中断...
-
エクセルのCOUNTIFが正しくカウ...
-
全角括弧と全角読点の間隔を狭...
-
バッチファイル 全角検索
-
ASP.net(C#) CheckBoxListで...
-
メッセージボックスで1025文字...
-
Replace関数は文字数の制限ある...
-
記号は半角と全角どちらがよい...
-
XMLのタグ名の禁則文字
-
半角スペース の文字化け...
-
全角英数文字が嫌われる理由を...
-
PHP 全角・半角・英数字 エラ...
-
Excel関数「COUNTIF」で”文字”...
-
VBAで英数字入力チェックしたい。
-
エクセルでの漢字、カタカナ、...
-
Excel2002 一桁数字だけ全角に置換
-
SPREADで全角文字の半角...
-
ExcelのVBAでカタカナをチェッ...
-
2つ以上の連続する空白文字を除去
-
Thunderbirdでのアドレスの表記...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字の入力で横バー上段、中断...
-
メッセージボックスで1025文字...
-
Excel関数「COUNTIF」で”文字”...
-
全角括弧と全角読点の間隔を狭...
-
エクセルのCOUNTIFが正しくカウ...
-
VBAで英数字入力チェックしたい。
-
全角英数文字が嫌われる理由を...
-
XMLのタグ名の禁則文字
-
文字列中の両丸括弧を取り除くV...
-
半角記号、全角記号を含む正規...
-
全角半角変換 C++/CLI
-
Excel2002 一桁数字だけ全角に置換
-
2つ以上の連続する空白文字を除去
-
エクセルでの漢字、カタカナ、...
-
Replace関数は文字数の制限ある...
-
Accessの文字数を調べたい
-
なぜインターネットでは半角カ...
-
VBScriptである文字列に半角文...
-
ExcelのVBAでカタカナをチェッ...
-
パソコンで全角、半角文字の切...
おすすめ情報