• ベストアンサー

Javascriptでの正規表現なのですが、以下の条件をチェックするにはどうすればいいのでしょうか?

Javascriptでの正規表現なのですが、以下の条件をチェックするにはどうすればいいのでしょうか? (123)-123-1234 false 123 123 1234 false 123 123-1234 false (123) 123 1234 false 123-123-1234 true (123) 123-1234 true (123)123-1234 true どうぞよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • venzou
  • ベストアンサー率71% (311/435)
回答No.2

質問の例だけでは正確な条件が特定出来ませんが、 推測で、こんな感かな? /^(\(\d{3}\) ?|\d{3}-)\d{3}-\d{4}$/ true の3パターン以外は全て false になると思います。 サンプル ------------------------------------------------- <html> <head> <script language="JavaScript"> <!-- function test(){ if(form1.input1.value.match(/^(\(\d{3}\) ?|\d{3}-)\d{3}-\d{4}$/)){ form1.output1.value = "true"; }else{ form1.output1.value = "false"; } } //--> </script> </head> <body> <form name="form1"> データ<input name="input1" type="textbox"><br> <input type=button value="比較" onClick="test()"><br> 結果<input name="output1" type="textbox"> </form> </body> </html> ------------------------------------------------- これで不都合があるなら、その例を補足して下さい。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • ANASTASIAK
  • ベストアンサー率19% (658/3306)
回答No.1

/^[(]*[0-9]{3}[-]*(\)\s*)*[0-9]{3}-[0-9]{4}$/

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • php 正規表現で(ただし○○は除く)という処理をしたい

    正規表現を使って複数条件を指定する場合 "文字列内に●がはいっていたらtrue  もしくは、先頭に▲がある場合はfalse" という、論理和的な条件は分かるのですが、 "文字列内に●がはいっていたらtrue  ただし先頭に▲がある場合はfalse" という、論理積的な条件の作り方がよく分かりません。 前者では、「もしくは」になってしまうので 先頭に▲があろうがなかろうが、●さえ入っていればtrueになってしまいます。 しかし、やりたいのは「ただし」であり ●がたとえ入っていようと、▲が先頭にあればflaseにしたいのです。 どうすれば、後者の条件を正規表現で実現できるでしょうか?

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

    javascriptで正規表現にて0~9とドットを許容したいのですが、javascript初心者のためどのように記述して良いのかわからずどなたかご教示いただけないでしょうか。 お願い致します。

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

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

  • 正規表現によるチェック

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

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

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

  • -(ハイフン)_(アンダーバー)の先頭や末尾での使用不可にする正規表現の書き方

    JavaScriptの(正確にはJavaScriptのみというわけでは無く、どの言語にもいえることなのですが、)正規表現を使って、以下のような書き方を不許可にしたいのですが、なかなかうまくいきません。 絶対条件は、英数字のみです。 禁止にしたい:-hoge、hoge-、_hoge、hoge_ しかし、これはOK:ho-ge、ho_geなどなど........ ようするに、先頭末尾に-(ハイフン)_(アンダーバー)の使用を禁止にしたいのです。 但し以下の場合に使わなければなりません。 function check( str ) { if( str.match(/ここに制御文/) ) return false; else return true; } ↑ みたいな関数があって、下記のような処理をほどこしています。 if( !check( str ) ){ alert( strMsg ); return false; } わかりづらい内容かもしてませんが、 どなたご教授いただけば幸いです。 宜しくお願いいたします。

  • javascriptでの正規表現について

    javascript正規表現にて正の整数および小数(半角のみ) を判別したいのですがうまくいきません。どうすればいいのでしょうか。<script language=javascript> function StrCheck(strSrc){ var value = strSrc.value; if (value.match(/[0-999]+¥.[0-99]/)==true){ alert("半角数字のみで入力して下さい"); } </script> ); 以上のようにつくってみましたが、半角でも全角でも「半角を入力してください」というメッセージがでてしまいます。これを全角のみでエラー表示がでるようにしたいのですがどうしたらよいのでしょうか。参考になるWEBページでもあれば教えてください。ご教授の程よろしくお願い申し上げます。

  • 正規表現を使って入力チェックを行う

    JavaScriptで正規表現を用いて半角英数入力チェックを行いたいのですが、うまくいきません。 ご協力お願いします。 --【1】------------------------------------------------- if((element2.value.match(/^[^0-9a-zA-Z]$/)){  document.FORM01.in_AAA.value="";  return false; } ------------------------------------------------------- 【1】では、半角、全角に関わらず正常に処理が行われます。 --【2】------------------------------------------------- if(!element2.value.match(/^[^0-9a-zA-Z]$/)){   document.FORM01.in_AAA.value="";   return false; } ------------------------------------------------------- 【2】にすると、半角、全角ともエラーとなってしまいます。 どのようにすれば、実装できるのでしょうか。 皆さん、よろしくお願いします。

  • 正規表現[0-9]

    ある文字列が大文字のアルファベット(A~Z)で構成されていることを正規表現を用いてチェックしたいと思ってます。 例えば "A0001" という文字列が A~Z で構成されているかを判断しるにはどうしたらよいですかね?? PatternクラスとかMatcherクラスとかを使用するみたいなんですが、なんかよくわかりません。 以下のように動かしたんですが、全く動きません。 boolean result_flag=false; if("A0001"=[A-Z]){   result_flag=true; } Javaおよびプログラム初心者でわかりずらくてすいませんが、 どうかお助けをよろしくお願いいたします。

    • ベストアンサー
    • Java
  • 正規表現について教えてください。

    正規表現について教えてください。 JavaScriptでプログラミングを行っています。 その中で文字列に対しゼロサプレスを行いたいと思い 調べた結果、正規表現を使用する以下のコードで 実現可能なことが分かりました。 val.replace(/^0+([0-9]+.*)/, "$1") コードを記述し実行すると確かに可能なのですが 正規表現を調べてみても何故これでゼロサプレスが可能なのか よく理解できませんでした。 申し訳ありませんが初心者でも理解できるように説明して頂けないでしょうか。 宜しくお願いします。