הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [JS] כיצד ניתן לבדוק אורך של מחרוזת באינפוט? (https://hosts.co.il/forums/showthread.php?t=33811)

-VladK- 28-10-06 21:20

[JS] כיצד ניתן לבדוק אורך של מחרוזת באינפוט?
 
כותרת

meshuga 28-10-06 21:33

HTML קוד:

<input type="text" id="asd" />
<input type="button" value="asd" onclick="alert(document.getElementById('asd').value.length);" />

שים לב ל".length".....
כמו שסופרים מערך, אז string זה בעצם מערך, אז אם אתה מפעיל את זה על TEXT זה סופר את התווים.

-VladK- 28-10-06 21:53

אוקיי תודה רבה לך!

יש לי עוד שאלה קטנטנה...כיצד ניתן לבדוק האם נגיד שדה האימייל תקין...כלומר קיים שם @ ו נקודה אחרי השם של הספק...בקיצור תקין :) (אני מצטער שאני חופר בנושא...פשוט אין לי מושג מאיפה ללמוד :-/)

meshuga 28-10-06 21:56

ציטוט:

נכתב במקור על ידי Pilmen
אוקיי תודה רבה לך!

יש לי עוד שאלה קטנטנה...כיצד ניתן לבדוק האם נגיד שדה האימייל תקין...כלומר קיים שם @ ו נקודה אחרי השם של הספק...בקיצור תקין :) (אני מצטער שאני חופר בנושא...פשוט אין לי מושג מאיפה ללמוד :-/)

ממ..אפשר עם רגולרים בלי בעיה...כמו שבודקים בPHP...אותו סיפור.

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

-VladK- 28-10-06 21:59

ציטוט:

נכתב במקור על ידי meshuga
ממ..אפשר עם רגולרים בלי בעיה...כמו שבודקים בPHP...אותו סיפור.

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

יש ביטויים רגולרים גם בJS? חח מגניב ^^...אני בJS ממש לא מעודכן...כמעט שאף פעם לא השתמשתי בזה =/ בכל מקרה תודה רבה על העצה שלך !

meshuga 28-10-06 22:04

ציטוט:

נכתב במקור על ידי Pilmen
יש ביטויים רגולרים גם בJS? חח מגניב ^^...אני בJS ממש לא מעודכן...כמעט שאף פעם לא השתמשתי בזה =/ בכל מקרה תודה רבה על העצה שלך !

יש בהמון שפות ביטויים רגולרים...

-VladK- 28-10-06 22:20

אהההם חיפשתי קצת ומצאתי ביטוי רגולרי מוכן (אין לי כח להכין לבד ;P)...עכשיו בPHP אני יודע שמשתמשים בEREGI בשביל לבדוק ביטוי רגולרי...אבל בJS...במה משתמשים?

אגב מי שרוצה את הביטוי:
קוד:

\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

DorWD 28-10-06 22:23

סתם שאלה, למה דווקא בJS אתה צריך?

-VladK- 28-10-06 22:26

ציטוט:

נכתב במקור על ידי DorWD
סתם שאלה, למה דווקא בJS אתה צריך?

על מנת שהבדיקה תתבצע מהר יותר למען הגולש...ככה הגולש ידע אם הוא טעה במשהו עוד לפני שהוא שלח...למקרים שבהם אנשים רעים (:-/) יחליטו לעשות מעשים זדוניים אני מבצע בדיקה גם בצד שרת...

Source 28-10-06 22:27

אני לא משתמש ברגולרים אלא בפונ' מחרוזת.
לדוגמא:
קוד:

var at = myString.indexOf("@", 1);
var dot = myString.indexOf("@", at);

if ((at != -1) && (dot != -1))
...


-VladK- 28-10-06 22:29

ציטוט:

נכתב במקור על ידי Source
אני לא משתמש ברגולרים אלא בפונ' מחרוזת.
לדוגמא:
קוד:

var at = myString.indexOf("@", 1);
var dot = myString.indexOf("@", at);

if ((at != -1) && (dot != -1))
...


אבל במצב כזה המשתמש יוכל לשים כזה דואל:
hi.there@net

Source 28-10-06 22:33

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

ובקשר למה שאמרת - הdot יהיה -1 וזה לא יעבור.
אם תשים לב הפרמטר השני בפונ' הוא מאיפה להתחיל לחפש את התו.

meshuga 28-10-06 22:43

הכי טוב והכי יעיל (אל תתפסו אותי במילה בקשר ליעיל..אבל אני מניח שכן) זה השוואה לביטוי רגולרי.

eLad 29-10-06 08:10

ציטוט:

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

למה צריך עשרות שורות כשיש לך RE של שורה?

-VladK- 29-10-06 17:20

ציטוט:

נכתב במקור על ידי meshuga
הכי טוב והכי יעיל (אל תתפסו אותי במילה בקשר ליעיל..אבל אני מניח שכן) זה השוואה לביטוי רגולרי.

מה הכוונה?

Source 29-10-06 19:25

ציטוט:

נכתב במקור על ידי eLad
למה צריך עשרות שורות כשיש לך RE של שורה?

מז"א RE של שורה?

-VladK- 30-10-06 06:40

אהההם כתבתי בסוף את הפונקציה הזאתי:
HTML קוד:

function emailcheck(str,dimg) {
        var reg = new RegExp("[@\.]");
        if(reg.test(str.value)) {
                document.getElementById(dimg).src='img/v.png';
                return true;
        } else {
                document.getElementById(dimg).src='img/x.png';
                return false;
        }
}

It doesnt work :'(

meshuga 30-10-06 16:30

הביטוי שלך לא נכון, זה 1.
2 , אני לא מכיר את הפונקציה שאיתה עשיתי בדיקה....
HTML קוד:

        function checkemail(email){
                var reg=new RegExp(/^[\w\-\.]+\@[\w\-\.]+\.[\w\-]+$/);
                return email.match(reg);
        }

תסתכל על הפונקציה הזאת (הביטוי נלקח מphp-il, את הפונקציה אני עשיתי) ותנסה להבין מה הולך פה.

-VladK- 30-10-06 16:32

לא הבנתי דבר אחד...מה זה:
email.match(reg)

meshuga 30-10-06 16:33

ציטוט:

נכתב במקור על ידי Pilmen
לא הבנתי דבר אחד...מה זה:
email.match(reg)

email - זה לדוגמא asd.value
match - זה פונקציית השוואה..כמו preg_match למיטב ידיעתי..מחזיר true וfalse

-VladK- 30-10-06 16:40

ציטוט:

נכתב במקור על ידי meshuga
email - זה לדוגמא asd.value
match - זה פונקציית השוואה..כמו preg_match למיטב ידיעתי..מחזיר true וfalse

תודה רבה רבה לך על כל העזרה שלך!

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

HTML קוד:

<input type="text" name="email" id="email" onblur="emailcheck(this.value, \'thick4\');" class="inputt" size="60" />
כמו כן שיניתי טיפה את הפונקציה לצרכים שלי:
HTML קוד:

function emailcheck(email,dimg) {
        var reg = new RegExp(/^[\w\-\.]+\@[\w\-\.]+\.[\w\-]+$/);

        if(email.match(reg)) {
                document.getElementById(dimg).src='img/v.png';
                return true;
        } else {
                document.getElementById(dimg).src='img/x.png';
                return false;
        }
}

ושוב תודה

meshuga 30-10-06 16:46

למה הסלאשים ?( \'thick4\' )

-VladK- 30-10-06 16:51

ציטוט:

נכתב במקור על ידי meshuga
למה הסלאשים ?( \'thick4\' )

משום שזה משולב עם PHP

meshuga 30-10-06 17:29

ציטוט:

נכתב במקור על ידי Pilmen
משום שזה משולב עם PHP

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

function emailcheck(email,dimg) {
        var reg = new RegExp(/^[\w\-\.]+\@[\w\-\.]+\.[\w\-]+$/);

        if(email.match(reg)) {
                document.getElementById(dimg).innerHTML='V';
                return true;
        } else {
                document.getElementById(dimg).innerHTML='X';
                return false;
        }
}

HTML קוד:

<input type="text" name="email" id="email" onblur="emailcheck(this.value, 'asd');" class="inputt" size="60" />
<div id="asd"></div>

עובד כמו שצריך.

-VladK- 30-10-06 17:44

ציטוט:

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

function emailcheck(email,dimg) {
        var reg = new RegExp(/^[\w\-\.]+\@[\w\-\.]+\.[\w\-]+$/);

        if(email.match(reg)) {
                document.getElementById(dimg).innerHTML='V';
                return true;
        } else {
                document.getElementById(dimg).innerHTML='X';
                return false;
        }
}

HTML קוד:

<input type="text" name="email" id="email" onblur="emailcheck(this.value, 'asd');" class="inputt" size="60" />
<div id="asd"></div>

עובד כמו שצריך.

וווווווווווווווווווואאאאאאאאאאאאאאאאאייייייייייייי ייייייי

אני לא מאמין שאני כל כך מפגר.............

חחחח במקום TICK4 כתבתי THICK4 ..

רק אני מסוגל לזה ^^ בכל מקרה זה עובד מצויין! מת עליך !!!1 אתה הגיבור שלי!


כל הזמנים הם GMT +2. הזמן כעת הוא 09:41.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ