דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. עריכת מחרוזת עם מספרי פלאפון

עריכת מחרוזת עם מספרי פלאפון

מתוזמן נעוץ נעול הועבר תכנות
30 פוסטים 8 כותבים 702 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD מחובר
    dovidD מחובר
    dovid ניהול
    השיב לאבי 203 ב נערך לאחרונה על ידי dovid
    #7

    @אבי-203
    היה טוב אם היית כולל את מה שלא הצלחת כדי שאבין במה שגית. אני מנחש שהבעיה הייתה הנקודה שנחשבת תו מיוחד שמשמעותו "הכל", וגם הלוכסן יכול לעשות בעיה כפולה כי יש לו גם משמעות כתו רג'קס וגם כסוגר ביטוי רגקס בJS.
    בשביל זה צריך לעשות escap ע"י ששמים לפניהם לוכסן הפוך (הישר זה הלוכסן של החילוק שנמצא באיזור המספרים במקלדת).
    ככה:

     console.log(p.replace(/\.|\/|\\/gi, ''));
    

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

    console.log(p.replace(/[\.\/\\]/gi, ''));
    

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

    console.log(p.replace(/[^0-9]/gi, ''));
    

    ה^ הופך את הסוגריים לשלילה, כלומר אתה מחפש תו מכל סוג למעט מה שמצויין בקבוצה. בקבוצה כתבנו 0-9 שזה כלל התוים בASCII בין 0-9 שזה כל הספרות.
    למעשה יש קיצורים לכאלה ביטויים, למשל \d שקול ל[0-9] ואילו \D שקול ל [^0-9] כך שתוכל לכתוב ככה:

     console.log(p.replace(/\D/gi, ''));
    

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

     console.log(p.replace(/[^,\d]/gi, ''));
    

    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

    בכל נושא אפשר ליצור קשר dovid@tchumim.com

    dovidD אבי 203א 2 תגובות תגובה אחרונה
    6
    • dovidD מחובר
      dovidD מחובר
      dovid ניהול
      השיב לdovid ב נערך לאחרונה על ידי
      #8

      אופס יוסי, אני מרגיש מיותר....

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      תגובה 1 תגובה אחרונה
      -4
      • yossizY מנותק
        yossizY מנותק
        yossiz
        השיב לchv ב נערך לאחרונה על ידי
        #9

        @chv אמר בעריכת מחרוזת עם מספרי פלאפון:

        @אבי-203 ל @dovid יש כאן מדריך מושקע
        https://tchumim.com/post/10185

        וואו, תודה.
        היה זכור לי שיש מדריך של @dovid אז חיפשתי ומצאתי את זה ואז התייאשתי כי חשבתי שזה כל מה שיש...
        נמצא זמן לקרוא את הכל בעז"ה.

        📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

        תגובה 1 תגובה אחרונה
        2
        • אבי 203א מנותק
          אבי 203א מנותק
          אבי 203
          כתב ב נערך לאחרונה על ידי
          #10

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

          https://www.av-digital.co.il/

          תגובה 1 תגובה אחרונה
          3
          • אבי 203א מנותק
            אבי 203א מנותק
            אבי 203
            השיב לdovid ב נערך לאחרונה על ידי אבי 203
            #11

            @dovid ואוו נדמה לי כ תורה על רגל אחת. מושלם!
            האמת בתחילה ביצעתי את זה עם פונקציית map על אובייקט פריטים שהבאתי, ואח"כ הוספתי את הפסיק וחיברתי למחרוזת אחת.
            עכשיו אני חושב אולי כדאי לעשות את זה בנפרד, כלומר לתת למשתמש גם אפשרות להדביק רשימת מספרים שלו, אני מניח הם יגיעו כבר עם פסיקים, ואז לרוץ על הכל. רק שאז יהיה קשה לתקן אם אין אפס בתחילה הוסף אפס בתחילה, למקרה שהעתיק מאקסל, אולי חיפוש אחר החלף 5, ב- 05,

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

            https://www.av-digital.co.il/

            dovidD 2 תגובות תגובה אחרונה
            2
            • dovidD מחובר
              dovidD מחובר
              dovid ניהול
              השיב לאבי 203 ב נערך לאחרונה על ידי
              #12

              @אבי-203 זה קל להוסיך אפס בהתחלה, כותבים ככה:

              "44".replace(/^([^0])/, '0$1')
              

              (מתכנת מצוי עלול לעשות הסרה של אפס בקלט, והוספה גורפת לכולם בסוף כמו הבדיחה עם הקומקום).
              אני משער שזה לא נוגע לך, אבל אני לא מתאפק מלהוסיף https://tchumim.com/topic/915, השפה שונה אבל הביטוי זהה..).

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              תגובה 1 תגובה אחרונה
              1
              • dovidD מחובר
                dovidD מחובר
                dovid ניהול
                השיב לאבי 203 ב נערך לאחרונה על ידי dovid
                #13

                @אבי-203 אמר בעריכת מחרוזת עם מספרי פלאפון:

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

                var userInput = '' //יכול להיות מופרד בפסיק או בקפיצת שורה.
                userInput.split(/[\n,\t]/)
                         .map(x => x.replace('\D', '').replace(/^([^0])/, '0$1')) //הסרת תווים זרים והוספת אפס
                         .map( ... ); //בדיקה אם כשר...
                
                

                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                בכל נושא אפשר ליצור קשר dovid@tchumim.com

                תגובה 1 תגובה אחרונה
                2
                • OdedDvirO מנותק
                  OdedDvirO מנותק
                  OdedDvir
                  השיב לאבי 203 ב נערך לאחרונה על ידי
                  #14

                  @אבי-203 אמר בעריכת מחרוזת עם מספרי פלאפון:

                  איפה אני יכול ללמוד על כל תורת הביטויים האלו??

                  @chv אמר בעריכת מחרוזת עם מספרי פלאפון:

                  ל @dovid יש כאן מדריך מושקע
                  https://tchumim.com/post/10185

                  כיהודה ועוד לקרא אני אישית נהנתי מ https://regexone.com/ יש שם תרגול חי צעד אחר צעד.

                  איש נחמדא תגובה 1 תגובה אחרונה
                  2
                  • dovidD מחובר
                    dovidD מחובר
                    dovid ניהול
                    כתב ב נערך לאחרונה על ידי dovid
                    #15

                    שיפור:

                    var koshers = [
                        "05041",                           //פלאפון
                        "05276","05271",                   //סלקום
                        "05484","05485",                   //פרטנר
                        "05731", "05741",                  //מירס
                        "05331",                           //הוט
                        "05831","05832","05337","05338",   //גולן
                        "05567"                            //רמי לוי
                    ];
                    var userInput = ''; //יכול להיות מופרד בפסיק | קפיצת שורה | טאב
                    var result = userInput.split(/[\n,\t]/)
                                          .map(x => x.replace('\D', '').replace(/^([^0])/, '0$1')) //הסרת תווים זרים והוספת אפס
                                          .map(function(tel){
                                                   if(!/0[57]\d{8}|0[23489]\d{7}/.test(tel)) return {valid: false, number: tel};
                                                   var portable = tel.startsWith('05');
                                                   var kosher = portable && koshers.includes(tel.substring(0,4));                   
                                                   return { number: tel, valid: true, isPortable: portable, isKosher: kosher, smsCapable:  portable && !kosher };
                                               }); 
                    

                    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                    בכל נושא אפשר ליצור קשר dovid@tchumim.com

                    yossizY אבי 203א WWWW 3 תגובות תגובה אחרונה
                    5
                    • yossizY מנותק
                      yossizY מנותק
                      yossiz
                      השיב לdovid ב נערך לאחרונה על ידי
                      #16

                      @dovid אם כבר אז אולי כדאי לבדוק גם את אורך המספר.

                      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                      dovidD תגובה 1 תגובה אחרונה
                      0
                      • dovidD מחובר
                        dovidD מחובר
                        dovid ניהול
                        השיב לyossiz ב נערך לאחרונה על ידי
                        #17

                        @yossiz החמצת שורה...

                        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                        בכל נושא אפשר ליצור קשר dovid@tchumim.com

                        תגובה 1 תגובה אחרונה
                        2
                        • אבי 203א מנותק
                          אבי 203א מנותק
                          אבי 203
                          השיב לdovid ב נערך לאחרונה על ידי
                          #18

                          @dovid אמר בעריכת מחרוזת עם מספרי פלאפון:

                          return { valid: true; isPorta

                          נראה מושלם רק מתקשה לבדוק יש שגיאה
                          return { valid: true; isPorta

                          https://www.av-digital.co.il/

                          dovidD תגובה 1 תגובה אחרונה
                          2
                          • dovidD מחובר
                            dovidD מחובר
                            dovid ניהול
                            השיב לאבי 203 ב נערך לאחרונה על ידי
                            #19

                            @אבי-203 תוקן.

                            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                            בכל נושא אפשר ליצור קשר dovid@tchumim.com

                            dovidD תגובה 1 תגובה אחרונה
                            2
                            • dovidD מחובר
                              dovidD מחובר
                              dovid ניהול
                              השיב לdovid ב נערך לאחרונה על ידי
                              #20

                              תוקן עוד פעם 😞

                              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                              בכל נושא אפשר ליצור קשר dovid@tchumim.com

                              yossizY תגובה 1 תגובה אחרונה
                              1
                              • yossizY מנותק
                                yossizY מנותק
                                yossiz
                                השיב לdovid ב נערך לאחרונה על ידי
                                #21

                                @dovid צריך להכניס גם את המספר לתוצאה...

                                📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                                dovidD תגובה 1 תגובה אחרונה
                                2
                                • dovidD מחובר
                                  dovidD מחובר
                                  dovid ניהול
                                  השיב לyossiz ב נערך לאחרונה על ידי dovid
                                  #22

                                  @yossiz תמיד אתה נתפס לדקויות... 🙂
                                  עריכה: בוצע.

                                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                  תגובה 1 תגובה אחרונה
                                  2
                                  • אבי 203א מנותק
                                    אבי 203א מנותק
                                    אבי 203
                                    כתב ב נערך לאחרונה על ידי אבי 203
                                    #23

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

                                    https://www.av-digital.co.il/

                                    dovidD תגובה 1 תגובה אחרונה
                                    0
                                    • dovidD מחובר
                                      dovidD מחובר
                                      dovid ניהול
                                      השיב לאבי 203 ב נערך לאחרונה על ידי dovid
                                      #24

                                      @אבי-203 כתבתי קוד קצת גנרי (בהתאם למה שהבנתי שאתה צריך).
                                      תוכל לסנן בfilter לפי האובייקט כדי להסיר מספרים לא תקינים או לקבל רק כשרים או להיפך וכולי ולבסוף בmap לקבל רק את הnumber מתוך האובייקט. למשל תשנה את שורה 18, ככה

                                                                 }).filter( x => x.isPortable).map(x => x.number);
                                      

                                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                      תגובה 1 תגובה אחרונה
                                      1
                                      • WWWW מנותק
                                        WWWW מנותק
                                        WWW
                                        השיב לdovid ב נערך לאחרונה על ידי WWW
                                        #25

                                        @dovid דרך אגב המערך של תחיליות הכשרות לא מעודכן.

                                        הנה המעודכן:

                                        var koshers = [
                                            "05041",                           //פלאפון
                                            "05276","05271",                   //סלקום
                                            "05484","05485",                   //פרטנר
                                            "05331","05341",                  //הוט מובייל
                                            "05832",                           //גולן
                                            "05567"                            //רמי לוי
                                        ];
                                        

                                        מקור

                                        או שזה משהו עתידי?

                                        WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                                        dovidD תגובה 1 תגובה אחרונה
                                        0
                                        • dovidD מחובר
                                          dovidD מחובר
                                          dovid ניהול
                                          השיב לWWW ב נערך לאחרונה על ידי
                                          #26

                                          @WWW לא ברור אם אתה קובע או שואל.
                                          הלינק מפנה לאשכול זה.

                                          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                          בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                          WWWW תגובה 1 תגובה אחרונה
                                          0

                                          • 1
                                          • 2
                                          בא תתחבר לדף היומי!
                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • דף הבית
                                          • קטגוריות
                                          • פוסטים אחרונים
                                          • משתמשים
                                          • חיפוש
                                          • חוקי הפורום