なげられてきた値が全角の場合にエラーをだしたいので
PHPにて全角、半角のチェックを行いたいのですが
なにか便利な関数などあるのでしょうか?
また、どのような処理をすればいいのでしょうか?
単純に全角を半角に変換してくれる
i18n_ja_jp_hantozenを使うことも考えましたが
全角の特殊文字などの場合に文字化けを起こす可能性もあると思い
なんとかエラー表示させたく質問させていただきました。
よろしくご教授ください。
環境:
RedhatLinux6.2J
apache-1.3.12-0jp1
php-3.0.15_i18n_ja-0vl2
postgresql-7.0.2-2.i386
No.1ベストアンサー
- 回答日時:
半角文字が・・・とおっしゃられてますが、半角文字自体の定義が結構曖昧です。
表示上で半角表示されても、実際の文字コード上では2バイト文字の場合もありますので・・・
実際、EUCでは半角カナも2バイトコードに割り当てられるようですし、UTF8では当然のごとく2バイト使用します
んで、とりあえず、どんな文字であれ、バイト列には変わり無いわけなんで・・・
# ソースコードはEUCで保存。別の文字コードで保存する場合は
# i18n_convertの第2引数を変更
if(!mbereg("^[A-Za-z0-9ア-ン]+$", i18n_convert($string, "EUC"))
{
# 半角以外の文字が存在した場合の処理
}
こんな感じで通らないでしょうか?
mberegの第一引数は適当に決めたので漏れがたっぷりあると思いますので、文字コード表を参照して適当に埋めてください
レスありがとうございます。
早速おしえていただきました方法で試したいと思います。
# i18n_convertの第2引数を変更
if(!mbereg("^[A-Za-z0-9ア-ン]+$", i18n_convert($string, "EUC"))
{
# 半角以外の文字が存在した場合の処理
}
のmberegの因数がチェックする文字列になるのですね。
文字コードを眺めながらいろいろ試そうと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
- その他(プログラミング・Web制作) 単純なコマンドプロンプトが動きません。 2 2022/04/19 15:21
- Android(アンドロイド) 海外のAndroid 端末の場合、日本語全角は、どう表示されるのでしょうか? 1 2022/10/02 21:16
- Excel(エクセル) エクセルでのデータの統一に関して リストを作成する際、元データをコピペでリストに転記しており、元デー 2 2022/08/31 15:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メッセージボックスで1025文字...
-
半角記号、全角記号を含む正規...
-
Excel関数「COUNTIF」で”文字”...
-
エクセルのCOUNTIFが正しくカウ...
-
文字の入力で横バー上段、中断...
-
パソコンで全角、半角文字の切...
-
記号は半角と全角どちらがよい...
-
全角英数文字が嫌われる理由を...
-
XMLのタグ名の禁則文字
-
VBScriptである文字列に半角文...
-
なぜインターネットでは半角カ...
-
CapCutってどうやったら文字を...
-
Replace関数は文字数の制限ある...
-
VBAで英数字入力チェックしたい。
-
全角半角変換 C++/CLI
-
特定の文字を簡単な操作で半角...
-
半角文字と全角文字の判別の仕方
-
Excel2002 一桁数字だけ全角に置換
-
エスケープ文字にstr_replaceが...
-
全角半角あわせて3文字
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel関数「COUNTIF」で”文字”...
-
文字の入力で横バー上段、中断...
-
メッセージボックスで1025文字...
-
エクセルのCOUNTIFが正しくカウ...
-
半角記号、全角記号を含む正規...
-
全角括弧と全角読点の間隔を狭...
-
VBAで英数字入力チェックしたい。
-
全角英数文字が嫌われる理由を...
-
記号は半角と全角どちらがよい...
-
XMLのタグ名の禁則文字
-
Replace関数は文字数の制限ある...
-
文字列中の両丸括弧を取り除くV...
-
携帯電話の相手の電話番号にメ...
-
エクセルでの漢字、カタカナ、...
-
2つ以上の連続する空白文字を除去
-
Excel2002 一桁数字だけ全角に置換
-
VBScriptである文字列に半角文...
-
IT企業の技術屋にとって全角英...
-
特定の文字を簡単な操作で半角...
-
半角文字と全角文字の判別の仕方
おすすめ情報