Eine einfache Möglichkeit, die Regelmäßigkeit zu verwenden, um festzustellen, ob die Eingabe eine Zahl ist:
input1 = '0281234567'; input2 = '0282345678'; var reg = /^/d+$/g;reg.test(input1); //Truereg.test(Input2); //FALSCH
Ich stellte fest, dass der während des zweite Tests zurückgegebene Wert falsch war. Nachdem ich verschiedene Interferenzfaktoren ausgeschlossen hatte, z. B. Schreibfehler, Wertschwere usw., stellte ich fest, dass der Regular der Reg -Regulierung nicht nur während der zweiten Ausführung der zweiten Ausführung der Reg korrekt ausgeführt werden kann. Ich habe dieses Problem vorher nicht gestoßen, daher habe ich nach relevanten Informationen gesucht.
Es stellt sich heraus, dass dieses Problem tatsächlich durch /g verursacht wird, und ich fand heraus, dass ich für diese Regel tatsächlich missbraucht habe. Da /g eine globale Übereinstimmung darstellt, gibt es im Inneren einen lastIndex, wenn die Regel beurteilt wird, um die letzte Spielposition aufzuzeichnen. Bei wiederholten Anrufen wird der letzteIndex weiterhin übereinstimmen, was zu einem Urteilsfehler führt. Wenn Sie das Prinzip verstehen und es lösen, wird klar sein:
1. entfernen /g und fügen Sie nicht nach Belieben hinzu, wenn /g nicht benötigt wird
2. Vor dem zweiten Spiel stellen Sie LastIndex manuell auf 0. Zum Beispiel oben: Reg.LastIndex () = 0.
Die obige Lösung ist die Lösung, dass der reguläre Test () aufgrund des Missbrauchs von /g in JavaScript nicht korrekt ausgeführt werden kann. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!