שלח תשובה

זירת השאלות

4416
צפיות
7
תשובות

בעייה לא עובד לי בדיקת התקינות של המייל

,‏ 10 ביוני, 2014

אני אשמח לעזרה ולהסבר על למה זה לא עבד!
זה די דחוף!!!!
אני עובדת ב javascript
כל אחד מהתנאים לבד עובד
ביחד אף אחד לא עובד! זה מדכא אותי ממש
!!!!!!!!!!!!!

function check()
//הפונקציה בודקת את נכונות הפרטים שהמשתמש הכניס למערכת
{//בדיקה למייל
var email=document.myform.mail.value;
if(email.length==0 && email.indexOf("@")<=0 && email.indexOf("@")!=email.lastIndexOf("@") && email.charAt("@")==email.length-1 && email.indexOf(".")==-1 && email.indexOf(".")==0 && email.indexOf(".")==email.length-1 && email.indexOf("@")+1==email.indexOf(".") && email.substring(email.indexOf(".")+1).length<3)
{
alert("המייל שהכנסת שגוי או שלא הכנסת מייל, נסה שוב!");
return false;
}
else
return true;


}





תגיות: , ,

7 תשובות

  1. Ronit Yaron הגיב:

    Using regular expressions is probably the best way. Here's an example
    function validateEmail(email)
    {
    var re = /^(([^<>()[]\.,;:s@"]+(.[^<>()[]\.,;:s@"]+)*)|(".+"))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA-Z-0-9]+.)+[a-zA-Z]{2,}))$/;
    return re.test(email);
    }

    its return true or false

  2. Ronit Yaron הגיב:

    script language="javascript">

    function checkEmail() {

    var email = document.getElementById('txtEmail');
    var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;

    if (!filter.test(email.value)) {
    alert('Please provide a valid email address');
    email.focus;
    return false;
    }
    }</script>

  3. Alma Daniel הגיב:

    לא הבנתי כלום! מה זה הסימנים האלו לא ככה לימדו אותנו בכיתה. אני ממש לא מבינה את זה!

  4. Alma Daniel הגיב:

    וגם לא הבנתי מה לא בסדר במה שאני רשמתי!

  5. קודם כל השתמשת בפונק' charAt שהיא מקבלת בכלל מספר ולא טקסט (כתבת email.charAt("@")). תסתכלי פה על הסבר מפורט ודוג' : http://www.w3schools.com/jsref/jsref_charat.asp

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

  6. Alma Daniel הגיב:

    תודה הצלחתי לסדר את הבעייה שלי XD

  7. dorkelner הגיב:

    נראה לי שפשוט עלייך להשתמש באופרטור לוגי של or (||) ולא של AND (&&), תביני, התנאי שכתבת יתבצע רק במידה וכל התנאים הלא טובים של האימייל מתקיימים, אם תשתמשי בOR אז במידה והאימייל לא תואם את אחד התנאים שלך, התנאי יתקיים ויוחזר שקר. מקווה שהבנת, אם לא תוכלי ליצור איתי קשר במייל

שלח תשובה