עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[PHP] בעיה בביטוי רגולרלי

Featured Replies

פורסם

אהלן...

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

preg_match(#^[0-9]$#, $var)

...

זה נתן true למספרים כמו 1 2 3 4 5 6 7 8 ו- 9 .. אבל ב- 10 11 12 13 וכן הלאה זה פתאום זורק false.. אז בסוף עברתי להשתמש ב- is_numeric אבל עדיין מישהו יכול להסביר לי למה הפרג מאצ' לא עבד לי טוב?! תודה לעוזרים.

פורסם

כי כשאתה עושה [0-9] זה אומר תו אחד שהוא ספרה בין 0 ל-9. אתה צריך לעשות שהביטוי הרגולרי יקבל כל מספר של תווים.

פורסם

הביטוי הרגולרי שלך בנוי כך:

^ - התחלה של המחרוזת

[0-9] - תו אחד בין 0 ל-9

$ - סוף המחרוזת

אתה רוצה שבמחרוזת שלך יהיה תו אחד או יותר בין 0-9.

בשביל זה משתמשים ב-+, כלומר הביטוי שאתה רוצה הוא:

^[0-9]+$

אם היית רוצה להכליל גם מקרה של 0 תווים בין 0-9 (כלומר בפועל מחרוזת ריקה) יכולת להשתמש בסימן * במקום +

זה יעבוד, אבל בשביל לתפוס ספרות בביטויים רגולריים נהוג להשתמש ב- d\

משמע הביטוי המקובל יהיה:

^\d+$

אגב, אם יש לך פונקציה שכבר עושה את זה (is_numeric) כפי שכתבת, עדיף להשתמש בה מאשר בביטוי רגולרי. כפי שנאמר:

Some people, when confronted with a problem, think "I know, I'll use regular expressions."

Now they have two problems.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.