asco88
חבר מתאריך 17.6.04
26757 הודעות, דרג אמינות חבר זה |
20:26 19.07.09 |

|
מדריך | עבודה עם ביטויים רגולריים REGEX חלק ב'
 |
טוב, במדריך הקודם בנינו את המשפט הזה:
כלומר: טקסט כלשהו, יכיל אותיות, מספרים וקו תחתון. שטרודל ('@'). טקסט כלשהו, יכיל אותיות, מספרים וקו תחתון. סיומת, כלומר, טקסט כלשהו שיתחיל בנקודה.עכשיו, בא נניח שאנחנו רוצים משפט אידיאלי, אז יש לנו עוד אופציות שלא כיסינו. כל אחד מחלקי הטקסט (הראשון והשלישי) אמרו להיות תקין גם אם תופיע בוא "." או "-" מה שלא מכוסה ע"י מה שכבר עשינו. אז אנחנו נכתוב את זה בנפרד ונוסיף.
לא לשכוח להחליף את הסוגריים המסולסלים במרובעים. עכשיו הסבר קצר: בסוגריים המרובעים יש "." שלפניה יש סלאש כדי לשנות אותה מהאופציה המיוחדת, ואז "-", כלומר האיבר הזה חייב להכיל אחד מהשניים האלה. ומיד אחריו יש את סימן התו הרגיל (\w+) היות וכל הרעיון הוא חזרה של כל הכלל מייד אחרי ה"." או "-". ומייד אחרי הסוגריים יש סימן שאלה, להזכירכם משמעותו היא שהכלל יחזור אפס פעמים או פעם אחת, ולכן או שהוא יתקיים פעם אחת או שיישאר כמו שהיה לפני שנגענו בו. עכשיו נוסיף את הקטע הזה אחרי שני המקומות עם התוים הרגילים:
^\w+({\.-}?\w+)?@\w+({\.-}?\w+)?(\.\w(2,3))+$ |
וזהו בנושא האימייל.! הנה עוד שני דברים מעניינים שניתן להוסיף בסוף המשפט: מחפש כל התאמה אפשרית ולא רק את הראשונה - g חיפוש לא תלוי רישיות - i קצת על שימוש בJAVASCRIPT. היות ואני משתמש בעיקר בJS זה מה שאני אסביר: טוב, השתמשתי בזה לא מזמן אם מישהו זוכר:<script language="JAVA SCRIPT" type="text/javascript"> re=/^\w+$/ function formCheck(myForm) { if(re.test(myForm.myValue.value)) { return true } else { alert("Only numbers and characters are allowed!") return false } } </script> <form onsubmit="return formCheck(this)" action="myScript.php"> <input type="text" name="myValue"/> <input type="submit" value="Submit"/> </form>
|
הביטוי הזה נועד לבדוק האם בביטוי יש טקסט חוקי, וזהו. הre הוא בעצם המשתנה שלתוכו אני מציב את הביטוי הרגולרי. הפונקציה test יודעת לבדוק האם הטקסט שניתתן לה תואם לתבנית re המשוייכת אליה. אפשר להחליף את הביטוי פה בכל ביטוי אחר ולנסות בעצמכם לא פירטתי יותר מידי, היות וזו לא מטרת המדריך. מקווה שהבנתם. כל שאלה שיש לכם בנושא, אני אשתדל לפתור.בהצלחה
 |
|
שתף
|
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
|
| |