813
צפיות
צפיות
26
תשובות
תשובות
שאלות בJS
הינה השרשור הקודם:
https://webmaster.org.il/forums/Message.asp?Id=19395
השאלות שלי הם:
1. איך עושים טיימר בJS?
2. הסבר על הקוד שניר נתן לי כתשובה לשאלה בשרשור הקודם. הינה הקוד:
<script>
var rExp1 = /[a-z0-9]/gi
var rExp2 = /[א-ת]/gi
var isNumberOrEnglish = rExp1.test("Yes is the num 1") // return true
var isHebrew = rExp2.test("עברית") // return true
alert("is Hebrew:"+isHebrew+"n is number or english: "+isNumberOrEnglish)
</script>
עוד שאלות לגבי הקוד:
מה זה Reg Exp? האם בשני המשתנים הראשון אני צריך לכתוב את כל האותיות והמספרים או מה שאתה כתבת זה מספיק?
מה המשמעות של gi בסוף? ולמה האותיות/מספרים כתובים בתבנית: /[אבג]/
תודה ענקית לכולם! ובבקשה תתיחסו לכל השאלות בהודעה.
26 תשובות
תשובה ושאלה ?
איזה טיימר אתה צריך ו-ב. כל מה שרציתה לדעת על
תודה..
טיימר נגיד עוד חמש שניות יעשה ככה וככה..
אפשרי נכון?
כן אבל תלוי מה אתה רוצה לעשות
אם אתה רוצה שהוא כל 15 שניות יעשה משהו זה דבר אחד אבל אם אתה רוצה שזה יעשה פעם אחת ב- 15 שניות זה משהו אחר תגיד מה אתה צריך
אני רוצה שכל כמה שניות הוא יעשה משו
יעשה משהו פעם אחת ובזה נגמר הסיפור.. אני לא צריך שהוא יחזור על זה כל הזמן.
אז ככה:
את זה אתה שם ב-head
<script language="javascript">
function yourCommends(){
alert("i commend you")
}
</script>
את זה אתה שם במקום ה-body
<body onload="setInterval('yourCommends()', 15000);">
בקשר לReg Exp
הוא בעצם בודק אם יש במחרוזת מסויימת את התווים שהגדירו לו.
אני צריך לבדור אם יש רק את התווים האלה!
אם למשתמש יש גם ערבית ורוסית במחשב הוא יכול להקליד את התווים האלה והם לא צריכים להתקבל..
למישהו יש רעיון איך אני עושה את זה? (אני לא מבקש קוד אני מבקש רעיון.)
אם אני ישים במשתנה את כל התווים שאני מרשה, ואני יריץ לולאה על הטקסט שבודקת את התווים האלה או משהו כזה.. יש לכם רעיון?
יש את replace
במה זה עוזר לי?
נגיד יש לך טקסט..
ואתה רוצה להפוף את התווים ה"לא טובים" שלו ל-"תווים טובים" אז אתה משתמש ב-replace
הבעיה ש..
אני לא יכול לרשום את כל התווים האסורים כי יש מלא! אותיות ברוסית בגרמנית בסינית יפנית ערבית מצרית טורקית וכ'ו! וזה חוץ מכל התווי אסקי המיוחדים.
יותר פשוט להגדיר איזה תווים מתקבלים לא?
יש רעיון איך עושים את זה?
אז כך
RegExp זה מעין תבנית טקסט.
אני השתמשתי בדרך ה"מקוצרת" ולא בבונה(constructor) של regExp
בעצם את מה שכתבתי היה אפשר לעשות בשני דרכים:
var rExp1 = /[a-z0-9]/gi
או
var rExp1 = new RegExp("[a-z0-9]","gi")
(אם אני לא טועה הראשון יוצא יותר מהיר)
ה-gi אומר שזה יהיה על כל הטקסט (global-g) ושזה יתעלם מאותיות גדולות/קטנות (ignore case-sensitive)
בעצם כששמתי את ה-[] זה אומר רק התווים שנמצאים בתוך ה-[] מתקבלים
יש לך שני אפשרויות:
1. לשים שם רק את האותיות והמספרים שאתה רוצה לאפשר /(ו/או)/ סימנים רגולרים וכדומה.
2. להכניס סדרות של תווים (כמו שאני עשיתי – 0-9, א-ת וכדומה) אני עשיתי שיהיה אפשר את כל התווים באנגלית ובמספרים (בראשון) ובשני רק אותיות בעברית
לאחר מכן עשיתי בדיקה (ע"י השיטה test של אובייקט regexp) אם המחרוזת עומדת בתנאי שצוים לה. השיטה test מחזירה ערכים בוליאניים(TRUE/FALSE)
ואם כתבתי שם משהו לא נכון
אני מניח שאוריקס או הילדה (או כל מי שמבין ב-RegExp ) יתקן אותי
אוקיי תודה!
תודה !
חשבתי על רעיון שבאירוע ONKEYPRESS של תיבת הטקסט אני אבדוק את התו שנכתב ואם הוא מופיע בREGEXP אז הוא יכתב ואם לא הוא לא. כך אני אמנע שהמשתמש יכתוב תווים לא רצויים.
בגלל שאני עושה בדיקה גם בצד השרת (ואת זה אי אפשר לעשות בONKEYPRESS) אני רוצה לשאול איך עושים דבר דומה בVBSCRIPT?
גם אם בVBS אין REGEXP אולי יש למישהו דרך עקיפה לבדוק את התווים?
תודה לכולם!
נ.ב:
אני לא חושב שצריך להעביר לצד שרת כי אני שואל על VBS שזה כמעט אותו דבר בלקוח ובשרת.
כן זה נכון לעשות
וב-VBS יש RegExp לא הכי מומלץ להשתמש בו ואני לא יודע ממש איך משתמשים בו ב-VBS בכל מקרה
בחיפוש בפורום צד שרת חפש איר המילה global בתוכן אני מניח שתמצא משהו
הערה
אני לא יודע אם לא השתמשת בקונסטרקטור כי קל לך או מתוך ידיעה, אבל אף פעם אל תשתמש בקונסטרקטורים של JS. זה לא טוב בשום מקרה, ואתה נהגת נכון.
אז לא נעביר את השרשור
ובקשר לשאלתך – זוהי לא הדרך הנכונה לעשות את זה. הדרך הרגילה היא בעת שליחת הטופס להריץ בדיקה על כל השדה ולראות אם הוא מתאים לתבנית שהגדרת.
אני לא יודע בדיוק מה שונה בין VBS ל JS כשזה מגיע ל RegExp (חוץ מהעניין ש VBS יותר איטית), חפש ב MSDN.
מתוך ידיעה

אני עוקב אחרי הבדיקות שלך (ושל האחרים) בתפוז
וכדי להגדיר תאריך פשוט כותבים אותו או שחייבים להשתמש בקונסטרוקטור ?
לא חייבים כמעט בשום דבר.
אבל בתאריך אם אני לא טועה חייבים.
חיפשתי בפורום צד שרת ו….
זה מצא כל מה שקשור לGLOBAL.ASA……
שזה לא קשור.
חיפשתי גם בMSDN ולא ממש מצאתי.
למישהו יש מושג על REGEXP בVBS?
הנה
כן את זה מצאתי אבל..
לא הבנתי מזה הרבה..
למשל מה התפקיד של המשתנה patrn?
pattern זה התבנית
זה הביטוי הרגולרי שעל פיו אנו בודקים את המחרוזת
בקוד שאני כתבתי
var rExp1 = new RegExp("[a-z0-9]","gi")
אז החלק המודגש הוא ה-pattern
(השתמשתי בבונה רק כדי להדגים)
אני עדיין לא מצליח להבין
את הפונקציה שיש בקישור שנתת… ובטח שלא REGEXP בVBS…
יש משהו בעברית שמסביר טוב?
כנס לקישור שיש בסוף העמוד
העמוד הזה מסביר את התכונות והשיטות שנכללות ב-regExp בVBS
אינקלוד
אינקלוד (סליחה על ההודעה הקודמת..)
האם האינקלוד הזה הוא בASP?
<!– #include file="page.asp" –>
אם הוא לא בASP, אז האם הוא בHTML? אפשר לאנקלד בHTML?
או יותר ברור:
איך מאנקלדים בASP, ואיך בHTML?
תודה