ここに jsFiddle があります: jsFiddle
関連コード:
var number = /\d+(.\d+)?/g;
$('body').append(number.test(2.5) + "<br>");
$('body').append(number.test(20) + "<br>");
$('body').append(number.test(2) + "<br>");
出力
true
false
true
ここに jsFiddle があります: jsFiddle
関連コード:
var number = /\d+(.\d+)?/g;
$('body').append(number.test(2.5) + "<br>");
$('body').append(number.test(20) + "<br>");
$('body').append(number.test(2) + "<br>");
出力
true
false
true
を取り除きg
ます。これは必要ありません。また、RegExp オブジェクトが以前の一致に基づいてその位置を追跡するため、正規表現が失敗する原因になります: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/RegExp/テスト
exec (またはそれと組み合わせて) と同様に、同じグローバル正規表現インスタンスで複数回呼び出されたテストは、前の一致を超えて進みます。