• 締切済み

正規表現によるチェック

wikiのような掲示板のサイトを作っているのですが、 フォームへの入力値をチェックするところで、困っています。 正規表現を使えばよさそうなのですが、正規表現がよく理解できていないので、申し訳ないのですが、教えてください。 フォームへの入力が #ref(ファイル名1) #ref(ファイル名2) .... という形式に合致しているかをjavascriptでチェックし、合致しない場合はエラーを出したいと考えています。 ここで、ファイル名は 18桁の数字+拡張子 (jpg、pjpeg、gif、png、x-png) から成ります。 以上、すみませんが、ご教授の程よろしくお願いいたします。

みんなの回答

回答No.1

javascript では正規表現使ったことないですが 普通に考えると [0-9]{18}\.(jpg|pjpeg|gif|png|x-png) では?

xyz_1990
質問者

補足

ご回答ありがとうございます。 私の説明不足で申し訳いのですが、 ファイル名のチェックのみでなく、 #ref(   )  改行 といった部分もチェックしたいのです。 本来は自分で考えるべきなのですが、時間と能力が足りませんので、 ご協力お願いいたします。

関連するQ&A

  • .htaccessの正規表現

    .htaccessの正規表現で質問があります。 <Files ~ "\.(html|gif|jpeg|png)$"> 例えばこのような場合最後のファイル名が「html」「gif」「jpeg」「png」に適用されますが、~(チルダ)はパターンマッチ、(||)(カッコとパイプライン)はパイプラインで区切ってそのいずれか、$(ドルマーク)は行末のマッチングと分かったのですが、\.(円マークとドット)が分かりません。どういう意味なんでしょうか? 例えば、次のように記述すると間違いなんでしょうか? <Files ~ "(html|gif|jpeg|png)$"> また、 <Files password.html> このような記述が載っていたのですが、ファイル名がこのような場合ダブルクォーテーション(")で囲まなくていいのでしょうか? また、*(アスタリスク)と?(クエスチョンマーク)は必ず1文字以上でなければいけないのでしょうか?0文字ではダメなんでしょうか? 回答よろしくお願いします。

    • ベストアンサー
    • HTML
  • 正規表現を使った入力値のチェック

    こんにちは、yukimura1024です。 perlでブラウザのフォームに入力された値をチェックしたいのですが、 入力された値が「全角文字のみか」と「全角カタカナのみか」 という2種類のチェックのしかたがわかりません。 「数値のみか」のチェックは正規表現を使ってできたのですが、 これと同じように正規表現を使って、この2つの全角チェックをする 方法はないでしょうか? 数値チェックは以下の方法でやっています↓ if ($str_txt_yuubin =~ /[^0-9]/) { print "「郵便番号」を半角数字で入力してください。<br>\n"; } ご存知の方がいましたら教えていただけると助かります。 よろしくお願い致します。

    • ベストアンサー
    • Perl
  • 正規表現

    正規表現で身長、体重の入力チェックをしたいのですが、 うまくいきません。 ↓がんばったのですが。。 /^\d\d\d?\.?\d*$/ 整数部3桁まで、小数部はDBで1桁に丸めるので何桁でもOKです。 どなたかアドバイスをお願いします。

  • 正規表現についてお願いします。

    お世話になります。 javascriptの正規表現で仮に任意の桁数の文字列があり、その数桁目から数桁目の間のみを拾いたい場合にどのように記述すればよろしいでしょうか。 http://okwave.jp/qa/q6840301.html すいません。引用いたしました。 こちらの内容と同じことをJavaScriptで実現したいです。 よろしくおねがいします。

  • 日付チェックと正規表現

    javascriptで 2008/08/32 など正しい日付かどうかチェックしたいのですが どうしたらよいでしょうか? 日付のシリアル値の求め方も知りたいです。 あと、正規表現を使って上の日付を年・月・日に分けたいのですがどうしたら良いでしょうか。

  • メールアドレスの正規表現チェック

    Javascript内でメールアドレスを正規表現でチェックしたいのですが、 チェックをすり抜けてしまいます。 どのように表現すればチェックがかかるのでしょうか? 文字列は下記の通りです。 @qq.com よろしくお願いします。

  • この検索を正規表現にするにはどう書けばいいでしょう?

    (name.gif)、('name.jpg')、(name_a.png)があって その中身のback.gifだけを検索で拾いたいのです。 自分なりに調べて \w+\w+(.gif|.jpg|.png) で ()、('')を除いた中身だけを拾えるようになったのですが、時々 (name-b.gif)、('n-ame.jpg')、(n-a-m-e.png) のようにハイフンが混じっているものが拾えなく困っています。 ハイフンも混じっても大丈夫な正規表現の書き方を どなたか教えてください。

    • ベストアンサー
    • PHP
  • 正規表現について

    正規表現について質問が有ります。 プログラミング初心者なので、根本的な間違い等も犯している可能性もありますがご了承下さい。 今、javascriptを使ってフォームに入力されたメールアドレスの入力チェックを行おうとしています。 とりあえずはwebを漁って見つけたソースでチェックできる様にはなったのですが、もうちょっと拡張したいと思った所、つまずいてしまいました。 元のソースは if (!this.value.match(/^[\x01-\x7F]+@((([-a-z0-9]+\.)*[a-z]+)|(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}))$/){ alert("error"); } という風にチェックをしており、 ******(@マークが無い) ***@(@の後半が無い) @***(@の前半が無い) などの基本的な形式に対してはチェックを行う様になっています。 しかし、hoge@hogeの様に書くと、適当に書いたドメインでもスルーしてしまいます。 そこで、ドメインのチェックも行おうとしているのですが、ここで詰まっています。 ちなみに今回は携帯のアドレスに限定してチェックを行おうと思っています。 javascriptでの正規表現について書いてあるページを見ながら下の様に書いたのですが上手く動作してくれません。 正規表現の書き方がおかしいのだろうとは思うのですが、どこがいけないのかよく分かりません。 if (!this.value.match(/^[\x01-\x7F]+@((([-a-z0-9]+\.)*[a-z]+)|(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}))$/) || /*ここから下を追加*/ (!this.value.match(/@(docomo|ezweb|softbank)\.ne\.jp$/) || !this.value.match(/@i\.softbank\.jp$/)){ alert("error"); } 最初はもとからある基本的な入力形式のチェックを行い、また@後のドメインが携帯のドメインでない場合にエラーを返す。というつもりで書きました。 ですが、***@docomo.ne.jpとしてもエラーが返って来てしまいます。 原因を教えていただけますか? また、もとからあった正規表現が何をどういう指定しているのかもキチンとは理解していないので、教えていただけるとうれしいです。 よろしくお願いします。

  • 正規表現を使った小数入力チェック方法について

    Javaのjava.util.regex.Matcherクラスと java.util.regex.Patternクラスを使用して正規表現を使った 数値の入力チェックを行いたいと思っています。 行いたいチェックは下記の通りです。 【内容】 整数5桁以内で入力 小数部は1桁、ただし小数部は任意入力 例: 1234 => OK 12345 => OK 123456 => NG 12345. => NG 12345.1 => OK 12345.12 => NG 色々考えてみましたが 小数部が任意入力の事もあり、 うまく実現できずに困っています。 このような場合どのような正規表現を組めば良いでしょうか? よろしくお願いします。

    • ベストアンサー
    • Java
  • 正規表現

    数字と大文字、小文字のアルファベットは入力OK。 記号も入力OK。でも、記号の中でも「”」、「.」は ダメ。しかも、10桁くらい入力できるようにする。 を表す正規表現は [a-zA-Z0-9&&[\"\.]]* と思ったのですが、 正しく表す正規表現はどの様なものになるのでしょうか? お願いします。

    • ベストアンサー
    • Java

専門家に質問してみよう