いつもお世話になっております。
PHP初心者です。
preg_matchを使って文字の書式をチェックしたいのですが文字の書式が
12.3 x 45.6 x 78.9
[{数字(0~99.9)}{半角スペース}{エックス}{半角スペース}数字(0~99.9){半角スペース}{エックス}{半角スペース}{数字(0~99.9)}
のような書式かどうかチェックするにはどうしたらよいですか?
これは物のサイズだと思ってください。単位は[cm]です。
以下の感じで作ってみましたがダメでした。
if (!preg_match("/^[0.1-99.9]\s{1}\x\s{1}[0.1-99.9]\s{1}\x\s{1}[0.1-99.9]$/", $_POST['size'])) {
$error['size'] = 'no';
}
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
正規表現の「[~]」は、その中で指定したどれかの一文字にマッチします。
2文字以上の文字列にはマッチしません。「[0.1-99.9]」の場合は0~9 のどれかの文字に1文字にはマッチしますが、「99.9」という4文字の文字列にはマッチしないのです。
あとは、「{エックス}」を示すのは「x」で十分で、「\x」にしちゃだめです。
まず「数字(0~99.9)」がどういう指定なのかがちょっと情報が不十分なのですが、
小数点はなくてもいいということだったら、
・整数: 「0~9」または「10~99」
・小数: 上述の数にさらに「.0~.9」が続く
ということで、数値を示す正規表現は「([0-9]|[1-9][0-9])(\.[0-9])?」になります。
まとめると、
"/^([0-9]|[1-9][0-9])(\.[0-9])?\sx\s([0-9]|[1-9][0-9])(\.[0-9])?\sx\s([0-9]|[1-9][0-9])(\.[0-9])?$/"
でいけるでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- Excel(エクセル) エクセルの数式で教えてください。 3 2022/10/25 10:52
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Excel(エクセル) Excelの複数置換はSUBSTITUTEを重ねるしかない? 9 2022/05/08 11:25
- その他(Microsoft Office) 英数字のみ全角から半角に変換 4 2023/07/28 14:48
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
- PDF C#でfloatを整数部、小数部とも桁数固定で文字表示したい 2 2022/07/28 09:37
- Visual Basic(VBA) 指定した文字から指定した文字のスペースまでを削除するVBAの構文について 6 2022/07/24 22:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メッセージボックスで1025文字...
-
文字の入力で横バー上段、中断...
-
エクセルのCOUNTIFが正しくカウ...
-
VBScriptである文字列に半角文...
-
半角記号、全角記号を含む正規...
-
全角括弧と全角読点の間隔を狭...
-
PHPでMySQLに入力した半角スペ...
-
【Excel VBA】A列の全角・半角...
-
エスケープ文字にstr_replaceが...
-
Excel関数「COUNTIF」で”文字”...
-
エクセルでの漢字、カタカナ、...
-
VBAのリストボックスでの文字化け
-
記号は半角と全角どちらがよい...
-
php言語の全角入力のチェック方...
-
phpの正規表現でカタカナ+スペ...
-
特定の文字を簡単な操作で半角...
-
マクロで半角・全角スペースと...
-
半角英数字のみを受け付ける入...
-
データ末尾の半角スペース
-
=code(" ") で値が160となる文...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メッセージボックスで1025文字...
-
文字の入力で横バー上段、中断...
-
Excel関数「COUNTIF」で”文字”...
-
エクセルのCOUNTIFが正しくカウ...
-
全角括弧と全角読点の間隔を狭...
-
半角記号、全角記号を含む正規...
-
特定の文字を簡単な操作で半角...
-
全角英数文字が嫌われる理由を...
-
VBAで英数字入力チェックしたい。
-
エクセルでの漢字、カタカナ、...
-
全角半角変換 C++/CLI
-
XMLのタグ名の禁則文字
-
VBScriptである文字列に半角文...
-
記号は半角と全角どちらがよい...
-
文字列中の両丸括弧を取り除くV...
-
パソコンで全角、半角文字の切...
-
HTML5の「pattern」属性で前後...
-
Replace関数は文字数の制限ある...
-
Excel2002 一桁数字だけ全角に置換
-
エスケープ文字にstr_replaceが...
おすすめ情報