• ベストアンサー

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}$/