匿名質問者
匿名質問者匿名質問者とは「匿名質問」を利用して質問した質問者。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら

正規表現について


例 文字列 var str=〇〇;
数字パターンA 1,2,3,4,5,6,7,...(整数)

数字パターンB 1.45, 3.333, 8.9,.....(数字+「ピリオド」+数字)

の以上のどちらのパターンにもマッチしないときはconsole.log('マッチしておりません')を出したいのですがどのように表現すればよいのでしょうか?

面倒な質問とは思いますがよろしくお願いします

if(str.match(//)){
console.log('マッチしておりません')
}

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/02/01 01:32:09
  • 終了:2013/02/01 20:45:56

ベストアンサー

匿名回答2号 No.1

匿名回答2号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2013/02/01 20:37:47

正規表現は否定形や複数マッチはあんまり得意じゃないというか、それを目的としたものじゃないから以下のようにやればいいんじゃないかな。

if(!str.match(/^[0-9]+$/) && !str.match(/^[0-9]+\.[0-9]+$/)){
    console.log('マッチしておりません')
}

どうしても正規表現のみでやりたいなら肯定先読みとかを駆使したトリックを使えばできるかもしれないけど、書くのも読むのもすごく大変になる。

匿名質問者

ありがとうございます!

2013/02/01 20:45:24
  • 匿名回答1号
    匿名回答1号 2013/02/01 01:37:45
    if(! str.match(/[0-9.]+/)){
    じゃ、駄目なの?
    .123 は、対象外なら、↓とか。
    if(! str.match(/[0-9]+\.?[0-9]*/)){

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません