質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CodeIgniter

CodeIgniterは、PHP向けオープンソースのWebアプリケーションフレームワークです。CodeIgniterは覚える構文が少なく、自由度も高いため、PHPを理解していれば構築が簡単です。

Q&A

解決済

1回答

1909閲覧

PHP 半角英数字または半角記号チェックの仕方について

a0841_1974

総合スコア29

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CodeIgniter

CodeIgniterは、PHP向けオープンソースのWebアプリケーションフレームワークです。CodeIgniterは覚える構文が少なく、自由度も高いため、PHPを理解していれば構築が簡単です。

0グッド

0クリップ

投稿2018/01/24 05:58

いつもお世話になっております。
PHPで入力した文字が、半角英数字、または、半角記号である事の
チェックをしたいのですが、方法がわかりません。

ご存知の方がいらっしゃれば、教えて頂けますでしょうか。

(補足)
1.半角記号ですが、
以下の3つのいずれかの文字が含んでいる場合は、チェックエラーとしたいです。
【文字】
・*
・?
・半角スペース

2.入力チェックに可能であれば、preg_matchを使用したいです。

以上です。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2018/01/24 06:05

ご自身で試されたコードを質問文に追記し、「何」が「どのように」わからないのか、コードのどの部分で詰まっているのかなどを具体的に追記されたほうが回答が望めると思います。
guest

回答1

0

ベストアンサー

「!-~」の内、「*」と「?」を除くのでしょうか?
つまり「\x21-\x7E」の内「\x2A」と「\x3F」を外すのですから
範囲を3つ羅列すればよいのでは?

PHP

1 2$str="xxx"; 3$pattern="/^[\x21-\x29\x2B-\x3E\x40-\x7E]+$/"; 4print perg_match($pattern,$str)?"ok":"ng";

投稿2018/01/24 07:02

yambejp

総合スコア114779

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

a0841_1974

2018/01/24 09:36

ご連絡ありがとうございます。 ご連絡頂きました内容で出来ました。 $patternの部分を"/^[!-)+->@-~]+$/"にしても出来ました。 ご連絡頂きました"/^[\x21-\x29\x2B-\x3E\x40-\x7E]+$/"で記述する方法と "/^[!-)+->@-~]+$/"で記述する方法に、違いはありますでしょうか。 また、どちらで記述する方がよいなどあるのでしょうか。 基本的な事が分かっていなく、たいへん申し訳ございません。
yambejp

2018/01/24 09:42

同じです。 私の回答は単に記号を番号で指定しているだけです。 たとえばスペースを「 」と書くより「\x20」と書いたほうが わかりやすいので、記号をひろうなどのときはコードで指定することがままあります
a0841_1974

2018/01/24 09:48

ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問