נפתרה: בדוק אם מחרוזת מכילה רק מספרים שלמים מספרים javascript

הבעיה העיקרית בבדיקה אם מחרוזת מכילה רק מספרים שלמים היא שאין תקן מוגדר כיצד לעשות זאת. זה יכול להוביל למימושים שונים שיחזירו תוצאות שונות, שיכולות להיות קשות להבנה וניפוי באגים.

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

תנאים

תנאים הם כלי רב עוצמה ב-JavaScript. הם מאפשרים לך לשלוט בזרימת הקוד שלך בהתבסס על תנאים מסוימים שמתקיימים.

שימוש נפוץ אחד לתנאים הוא לבדוק אם משתנה שווה לערך מסוים. לדוגמה, ייתכן שתרצה להציג הודעת שגיאה אם ​​הקלט של משתמש אינו חוקי.

אתה יכול להשתמש במשפט if כדי לבדוק אם תנאי הוא נכון או לא נכון. דוגמת הקוד הבאה בודקת אם הקלט של המשתמש הוא בין 1 ל-10:

if (userInput <= 10) {// Display an error } else { // Display the normal response } אתה יכול גם להשתמש במשפט switch כדי לבדוק מספר תנאים בו-זמנית. דוגמת הקוד הבאה בודקת אם הקלט של המשתמש הוא בין 1 ל-10, באורך של לפחות 3 תווים ומתחיל באות: switch (userInput) { case "1": case "2": case "3": case "a": case "b": case "c": break; ברירת מחדל: // הצג הודעת שגיאה }

אחרת

If הוא אופרטור מותנה ב-JavaScript. זה מאפשר לך לבחור בין שתי תוצאות אפשריות. התוצאה הראשונה היא התנאי, והתוצאה השנייה היא התוצאה של הצהרת if.

אם ברצונך לבדוק אם מספר זוגי או אי-זוגי, תוכל להשתמש בקוד הבא:

if (מספר % 2 == 0) { //even } else { //odd }

סעיף else יתבצע אם המספר אינו זוגי.

הודעות קשורות:

השאירו תגובה