Opgelost: controleer of string alleen gehele getallen getallen javascript bevat

Laatste update: 09/11/2023

Het grootste probleem bij het controleren of een tekenreeks alleen gehele getallen bevat, is dat er geen gedefinieerde standaard is voor hoe dit moet worden gedaan. Dit kan ertoe leiden dat verschillende implementaties verschillende resultaten opleveren, die moeilijk te begrijpen en te debuggen zijn.

I want to check if a string only contains integer digits numbers.
For example:
<code>var str = "123"; // return true;
var str = "123a"; // return false;
</code>


A:

You can use <code>/^d+$/.test(str)</code>.  This will test whether the string consists of one or more digits.  If you want to allow for a leading minus sign, then use <code>/^-?d+$/.test(str)</code>.  If you want to allow for an optional decimal point and fractional part, then use <code>/^-?d+(.d+)?$/.test(str)</code>.  If you want to allow for an optional exponent, then use <code>/^-?(d+(.d*)?|.d+)([eE][-+]?d+)?$/.test(str)</code>.  The last two expressions are the ones used by the built-in function <code>isFinite()</code>, which is what you should be using if your goal is to test whether a string can be converted into a number.  (If your goal is something else, please edit your question.)

Voorwaardelijke

Conditionals zijn een krachtig hulpmiddel in JavaScript. Hiermee kunt u de stroom van uw code regelen op basis van bepaalde voorwaarden.

Een veelvoorkomend gebruik voor conditionals is om te controleren of een variabele gelijk is aan een bepaalde waarde. U wilt bijvoorbeeld een foutbericht weergeven als de invoer van een gebruiker niet geldig is.

U kunt de instructie if gebruiken om te testen of een voorwaarde waar of onwaar is. In het volgende codevoorbeeld wordt gecontroleerd of de invoer van de gebruiker tussen 1 en 10 ligt:

if (userInput <= 10) { // Geef een foutmelding weer } else { // Geef het normale antwoord weer } U kunt ook de switch-instructie gebruiken om meerdere voorwaarden tegelijk te testen. Het volgende codevoorbeeld controleert of de invoer van de gebruiker tussen 1 en 10 ligt, een lengte heeft van ten minste 3 tekens en begint met een letter: switch (userInput) { case "1": case "2": case "3": geval "a": geval "b": geval "c": pauze; standaard: // Geef een foutmelding weer }

Als, Anders

If is een voorwaardelijke operator in JavaScript. Hiermee kunt u kiezen tussen twee mogelijke uitkomsten. De eerste uitkomst is de voorwaarde en de tweede uitkomst is het resultaat van de if-opdracht.

Als u wilt controleren of een getal even of oneven is, kunt u de volgende code gebruiken:

als (getal % 2 == 0) { // even } else { // oneven }

De else-component wordt uitgevoerd als het getal niet even is.

Gerelateerde berichten: