0

ここに 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
4

1 に答える 1

7

を取り除きgます。これは必要ありません。また、RegExp オブジェクトが以前の一致に基づいてその位置を追跡するため、正規表現が失敗する原因になります: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/RegExp/テスト

exec (またはそれと組み合わせて) と同様に、同じグローバル正規表現インスタンスで複数回呼び出されたテストは、前の一致を超えて進みます。

http://jsfiddle.net/BUpyd/1/

于 2013-04-18T01:28:24.893 に答える