Solvita: Kontrolu ĉu ĉeno enhavas nur entjerciferajn nombrojn javaskripto

La ĉefa problemo ĉe kontrolado ĉu ĉeno enhavas nur entjerciferajn nombrojn estas ke ekzistas neniu difinita normo pri kiel fari tion. Ĉi tio povas konduki al malsamaj efektivigoj revenantaj malsamajn rezultojn, kiuj povas esti malfacile kompreneblaj kaj sencimigitaj.

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.)

Kondiĉaĵoj

Kondiĉoj estas potenca ilo en JavaScript. Ili permesas vin kontroli la fluon de via kodo surbaze de certaj kondiĉoj plenumitaj.

Unu ofta uzo por kondicionaloj estas kontroli ĉu variablo estas egala al certa valoro. Ekzemple, vi eble volas montri erarmesaĝon se la enigo de uzanto ne validas.

Vi povas uzi la deklaron if por provi ĉu kondiĉo estas vera aŭ falsa. La sekva kodekzemplo kontrolas ĉu la enigo de la uzanto estas inter 1 kaj 10:

if (userInput <= 10) { // Montru erarmesaĝon } else { // Montru la normalan respondon } Vi ankaŭ povas uzi la ŝaltilon por testi plurajn kondiĉojn samtempe. La sekva kodekzemplo kontrolas ĉu la enigo de la uzanto estas inter 1 kaj 10, havas longon de almenaŭ 3 signoj kaj komenciĝas per litero: switch (userInput) { case "1": case "2": case "3": case "a": case "b": case "c": break; defaŭlte: // Montru erarmesaĝon }

Se, Alie

Se estas kondiĉa operatoro en JavaScript. Ĝi permesas vin elekti inter du eblaj rezultoj. La unua rezulto estas la kondiĉo, kaj la dua rezulto estas la rezulto de la se deklaro.

Se vi volas kontroli ĉu nombro estas para aŭ nepara, vi povas uzi la jenan kodon:

if (nombro % 2 == 0) { //para } else { //nepara }

La else-frazo efektiviĝos se la nombro ne estas para.

Rilataj afiŝoj:

Lasu komenton