PracticU

Chars

בלי כתוביותעם כתוביות
PracticU › קורס Javascript כולל JQuery › Chars
מילון מושגים:
מחרוזת - סוג נתונים שמייצג רצף של תווים, כלומר טקסט, ומשמש לאחסון מילים, משפטים או כל רצף סימנים.
JavaScript - שפת תכנות שרצה בעיקר בדפדפן ומוסיפה אינטראקטיביות לדפי אינטרנט. רצה גם בצד השרת באמצעות Node.js.
ASCII - תקן לקידוד תווים שמייצג אותיות, ספרות וסימנים כמספרים, ומשמש בסיס לייצוג טקסט במחשב.
לולאה - מבנה בקרה שחוזר על קטע קוד שוב ושוב כל עוד תנאי מתקיים או עבור כל פריט באוסף.
מערך - מבנה נתונים שמאחסן אוסף ערכים מאותו סוג ברצף, שאפשר לגשת אליהם לפי מספר מיקום (אינדקס).
נתיב - מחרוזת שמתארת את מיקומו של קובץ או תיקייה במערכת הקבצים, או כתובת של משאב בתוך אתר.
C# - שפת תכנות מונחית עצמים של מיקרוסופט, המשמשת בעיקר לפיתוח יישומים על פלטפורמת .NET.
Java - שפת תכנות עילית ומונחית עצמים, הרצה על מכונה וירטואלית (JVM) ומשמשת לפיתוח מגוון יישומים.

Chars

בשיעור זה אנו לומדים על עבודה עם תווים בודדים בתוך מחרוזות בשפת Javascript. אנו מכירים את טבלת ה-ASCII ואת הקודים של התווים, לומדים לעבור בלולאה על כל תו במחרוזת כאילו הייתה מערך, כותבים פונקציות בדיקה על תווים בודדים ומיישמים אותן בתוכנית אימות סיסמה, ובנוסף מכירים את התווים המיוחדים ואת מנגנון ההימלטות עם הסלאש ההפוך.
נושאי הסיכום המוצגים בשיעור:
1. כל תו במחרוזת הוא מספר בקוד: לכל תו במחרוזת יש קוד מספרי המייצג אותו, ולכן אפשר להשוות תווים ולבצע עליהם פעולות בדיוק כמו על מספרים.
2. טבלת ASCII: מחפשים בגוגל ascii table ורואים שהספרות 0 עד 9 מקבלות את הקודים 48 עד 57 ברצף רציף, האותיות הגדולות A עד Z מקבלות 65 עד 90, והאותיות הקטנות a עד z מקבלות 97 עד 122.
3. סוף הטבלה ויוניקוד: טבלת ASCII מסתיימת בקוד 127, ולייצוג שפות נוספות כמו עברית ושפות אחרות קיים תקן היוניקוד המרחיב את מספר התווים האפשריים.
4. מעבר על תווי מחרוזת בלולאה: מתייחסים למחרוזת כאל מערך ועוברים עליה בלולאה עד str.length, כאשר כל תו נגיש באמצעות str[i], ומציגים את התווים ב-alert בכל איטרציה.
5. השוואת תו בודד: תו בודד משווים בעזרת גרש בודד, למשל אם התו במקום השני שווה לתו o אז מדפיסים הודעה מתאימה.
6. פונקציית isDigit: כותבים פונקציה המקבלת תו ומחזירה true אם הוא ספרה, בבדיקה שהתו גדול או שווה ל-0 וגם קטן או שווה ל-9, ובודקים אותה על תווים שונים ורואים את התשובה true או false.
7. פונקציות בדיקת אותיות: כותבים את הפונקציות isLowerCaseLetter עבור תו בין a ל-z, isUpperCaseLetter עבור תו בין A ל-Z, ופונקציה משולבת isLetter המחזירה true אם התו הוא אות מכל סוג.
8. אימות סיסמה: מיישמים את הפונקציות בתוכנית בדיקת סיסמה, שבה הפונקציה isContainDigit עוברת בלולאה על כל תו בטקסט ומחזירה true ברגע שנמצאה ספרה, אחרת מחזירה false, והפונקציה isContainLetter פועלת באותה צורה עבור אותיות.
9. שילוב בדיקות ובדיקת אורך: הפונקציה isContainLetterAndDigit מחזירה true רק כאשר שתי הבדיקות מתקיימות יחד, ובתוכנית בודקים גם שהאורך של הטקסט הוא לפחות 6 תווים. על הטקסט Hello ABC מתקבל false, על Hello ABC 123 מתקבל true, ועל 123890+-= מתקבל false כי אין אותיות.
10. תווים מיוחדים: מכירים תווי בקרה כמו תו ה-null המסמן סוף מחרוזת ולכן ב-alert מוצג רק החלק שלפניו, התו n המייצג שורה חדשה כאילו לחצנו Enter, והתו t המייצג טאב, כאשר לפעמים המערכת מייצגת שורה חדשה גם עם תו נוסף שעלול להחזיר את הסמן לתחילת השורה ולדרוס את הקודמים.
11. הימלטות גרש, מרכאות וסלאש: בודקים את ארבעת המקרים של גרש בודד בתוך מחרוזת, מרכאה כפולה דורשת סלאש הפוך לפניה בתוך מחרוזת מוקפת מרכאות, ותו הסלאש ההפוך עצמו חייב להיכתב כפול כדי להופיע במחרוזת, אחרת המערכת מתעלמת ממנו. לדוגמה נתיב קובץ כמו c:\program files\new folder\myfile.txt הופך את ה-n לשורה חדשה, ולכן חייבים להכפיל כל סלאש. התווים המיוחדים האלה קיימים גם בשפות C, C++, C# ו-Java.
בסיום השיעור עברנו על עבודה עם תווים בודדים, למדנו את טבלת ה-ASCII והקודים של התווים, כתבנו פונקציות בדיקה לספרות ולאותיות, מיישמנו אותן בתוכנית אימות סיסמה, והכרנו את התווים המיוחדים ואת כללי ההימלטות שלהם. תודה רבה, ולהתראות בשיעור הבא.
בשיעור הבא נעסוק בנושא מערך Array ב-Javascript.
SR622HE
מילון מושגים:
קוד מקור - הקוד שמפתחים כותבים בשפת תכנות, לפני הידור, המגדיר את פעולת התוכנה.
Java - שפת תכנות עילית ומונחית עצמים, הרצה על מכונה וירטואלית (JVM) ומשמשת לפיתוח מגוון יישומים.

להורדת קוד מקור של כל הדוגמאות בקורס  JAVA SCRIPT למתחילים -לחץ כאן לתלמידי המכללה בלבד

להורדת קוד מקור של כל הדוגמאות בקורס  JAVA SCRIPT למתקדמים- לחץ כאן לתלמידי המכללה בלבד

פרקי ההרצאה: Chars

  1. 00:00

    מהם תוים ו-chars

  2. 00:42

    טבלת ASCII

  3. 02:58

    גישה לתו בודד במחרוזת

  4. 05:02

    פונקציית isDigit

  5. 06:18

    בדיקת אות קטנה וגדולה

  6. 08:03

    פונקציית isLetter

  7. 09:26

    בדיקת ספרה בסיסמה

תמלול ההרצאה: Chars

הטקסט המלא של הדקות הראשונות בהרצאה «Chars» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:01

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

  2. 00:19

    נכניס Hello All. מחרוזת באה בגרשיים, אבל מה שלא בעצם ראינו זה שכל דבר במחרוזת נחשב כתו. יש לנו פה את ה-H, יש לנו פה את ה-E.

  3. 00:32

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

  4. 00:55

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

  5. 01:28

    אז אנחנו רואים שיש לנו כאן את הקוד לדוגמא 012 לידו את אותו קוד ב-X הדצימאלי שזה אותו מספר ואז מה התו אומר. אז אנחנו יכולים לראות שבהתחלה יש פה כל מיני תווים כלליים ויש לנו כאן ב-48 מתחיל תו 0, 49, 1, 2, כלומר כל הספרות, כל הדיג'יט, הספרות הן רציפות.

  6. 01:56

    48 עד 57 זה הספרות 0 עד 9. זאת אומרת שהקוד 0 הוא 48, קוד האסקי של 0. מ-65 אנחנו רואים את A גדולה עד ל-90 שפה יש Z גדולה. גם אלה רציפים ואנחנו נעשה בזה שימוש.

  7. 02:16

    מ-97 אנחנו רואים שיש לנו A קטנה עד ל-122 שפה יש לנו את Z. ביניהם יש כל מיני תווים כמו פתיחת סוגריים, סגירת סוגריים, פלוס, גרש, יש לנו סוגריים מסוסלות, יש לנו נקודה פסיק, יש לנו את טילדה, שווה, כל האופרטורים.

  8. 02:37

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

  9. 02:52

    אוקיי, אז איך אנחנו יכולים לעשות בזה שימוש? אז ראשית יש לנו כאן מחרוזת אנחנו יכולים לרוץ עליה עד str.length ולהציג כל אחד מהתווים.

  10. 03:09

    בואו נגיד שאנחנו מציגים את str ואנחנו מתייחסים למחרוזת הזאת כאילו שזה מערך וניגשים לתא מסוים במערך. בואו נריץ את זה, יש לנו את h e l l o לאחר מכן רווח לאחר מכן A גדולה L L כלומר Hello All סימן קריאה ופה הסתיימה המחרוזת. זאת אומרת שמה שעשינו זה פשוט מאוד הצגנו תו תו ולכן יכלנו להתייחס

  11. 03:45

    למחרוזת בתווים הבודדים כלומר יכלנו להגיע לתו בודד. עכשיו אנחנו יכולים לעשות כל מיני בדיקות אם str במיקום i כלומר אם התו שווה בוא נניח ל-o כשאנחנו רוצים להתייחס לתו בודד אז אנחנו יכולים להגדיר אותו עם גרש גרש אוקיי?

  12. 04:09

    ויש לנו כאן אפשרות להיכנס לתוך האיף ובואו נניח להציג איזשהו אלרט you got the O-char, בואו נריץ את זה שוב, הפרש יש לנו H-E-L-L-O ועכשיו אנחנו רואים you got the O-char וממשיכים רווח A-L-L סימן קריאה וסיימנו.

  13. 04:39

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

  14. 05:02

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

  15. 05:18

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

  16. 05:29

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

  17. 06:01

    ונקרא לה על ידי alert is digit ונשלח תו שהוא לא ספרה a נרפרש נקבל false כעת בוא נחזור ונשלח לתו שהוא כן ספרה לדוגמה שלוש נרפרש ונקבל true בואו נכתוב את אותו הדבר עבור function is lowercase letter.

  18. 06:36

    כאן אנחנו רוצים לבדוק האם התו הוא אות קטנה. אז אנחנו עכשיו מחזירים האם ch גדול שווה לa קטנה וגם ch קטן שווה לz קטנה. אם כן זה הולך להיות תו שהוא lowercase כלומר אות קטנה.

  19. 06:58

    בואו נבדוק את זה יש לנו כאן is lowercase ונשלח את הספרה 3. בואו נבדוק נרפרש קיבלנו false עכשיו נשלח t קטנה נרפרש קיבלנו true בואו נשלח t גדולה נרפרש קיבלנו עדיין false מפני שבעצם t גדולה ולא עוד קטנה.

  20. 07:33

    אותו הדבר אנחנו יכולים לבצע עבור פונקציה שנקראת is upper case letter ופה אנחנו בודקים האם התו הוא גדול שווה ל-a גדולה וגם קטן שווה ל-z גדולה.

  21. 07:49

    בואו נבדוק את זה is uppercase וניתן לה את t גדולה אנחנו רואים שזה true t גדולה ו uppercase letter בואו ניתן לה את t קטנה false עכשיו בואו נבנה פונקציה שבעצם בודק האם התו שלנו הוא בכלל תו שהוא אות is letter מה זה אומר שזה letter זה אומר שהתו שלנו is lowercase is uppercase נשתמש בשתי הפונקציות שכתבנו בואו נבדוק is letter ונשלח a בוא נשלח בוא נניח u קטנה נר הפרש קיבלנו true נשלח w גדולה נר הפרש

  22. 08:58

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

  23. 09:33

    אז בואו נכתוב פונקציה שבודקת is contain digit. נקבל איזשהו טקסט, נרוץ על כל הטקסט הזה ופשוט נקרא ל-is digit ונשלח טקסט במיקום i כלשהו.

  24. 10:03

    אם הדבר הזה מחזיר לנו true ואנחנו יכולים להחזיר מכל הפונקציה מפני שהיא מכילה דיג'יט. אם סיימנו את כל הלולאה ולא מצאנו אף ספרה, נחזיר false מהפונקציה.

  25. 10:22

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

לקורס המלא: קורס Javascript אונליין

ההרצאה הקודמת: פונקציות ב-Javascript

ההרצאה הבאה: מערך Array ב-Javascript

הרצאות קשורות מקורסים אחרים

  • Accessing Single Chars
  • תווים - Chars (שפת #C)

קורסים נוספים במסלול

  • קורס יסודות HTML - בניית אתר אינטרנט פשוט
  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס ג'אווה סקריפט מעשי - JavaScript
  • קורס TypeScript
  • קורס ריאקט - React
  • קורס NodeJS