規則性を使用して、入力が数字であるかどうかを判断する簡単な方法:
input1 = '0281234567'; input2 = '0282345678'; var reg = /^/d+$/g; reg.test(input1); //truereg.test(input2); //間違い
2番目のテスト中に返された値が正しくないことがわかりました。書き込みエラー、値の取得の失敗などのさまざまな干渉要因を除外した後、REGレギュラーは、REGの2回目の実行の2回目の実行中にのみ正しく実行できないことがわかりました。私は以前にこの問題に遭遇したことがなかったので、関連情報を検索しました。
この問題は実際に /gによって引き起こされていることがわかり、私はこのルールについて実際に /g /gであることがわかりました。 /gはグローバルマッチングを表すため、最後の一致位置を記録するためにルールを判断する際に内側の内側があります。繰り返しコールすると、LastIndexは引き続き一致し、判断エラーが発生します。あなたが原則を理解してそれを解決するならば、それは明らかです:
1.削除 /g、そして /gが必要ない場合は自由にマークを追加しないでください
2。2回目の一致の前に、LastIndexを0に手動で設定します。たとえば、上記:reg.lastindex()= 0。
上記は、JavaScriptの /gの誤用が紹介されたため、通常のテスト()を正しく実行できないという解決策です。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!