וובמאסטר - תיכנות ובניית אתרים
שאלות ותשובות:
הוסף תשובה

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

אני אשמח לעזרה ולהסבר על למה זה לא עבד!
זה די דחוף!!!!
אני עובדת ב 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;


}







Alma Daniel, 10/6/2014
תגיות: JavaScript‏  /  בדיקת תקינות טופס‏  /  עזרה‏  
הוסף תשובה  |  הוסף הערה
7 תשובות לשאלה זו
הוסף תשובה
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
Ronit Yaron, 10/6/2014
הוסף תשובה  |  הוסף הערה
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>
Ronit Yaron, 10/6/2014
הוסף תשובה  |  הוסף הערה
לא הבנתי כלום! מה זה הסימנים האלו לא ככה לימדו אותנו בכיתה. אני ממש לא מבינה את זה!
Alma Daniel, 10/6/2014
הוסף תשובה  |  הוסף הערה
וגם לא הבנתי מה לא בסדר במה שאני רשמתי!
Alma Daniel, 10/6/2014
הוסף תשובה  |  הוסף הערה
קודם כל השתמשת בפונק' charAt שהיא מקבלת בכלל מספר ולא טקסט (כתבת email.charAt("@")). תסתכלי פה על הסבר מפורט ודוג' : http://www.w3schools.com/jsref/jsref_charat.asp

דבר שני, ליצור בדיקת תקינות למייל עם תנאים כאלה יכול להיות מאוד מסורבל ומאוד מסובך ומה שניסו להראות לך זה שימוש בביטויים רגולריים (Regular Expression): אתה יוצר תבנית מסויימת ובודק אם המחרוזת טקסט שלך מתאימה לתבנית. בכל מקרה, ליצור בדיקה עם regular expressions זה גם לא כל כך פשוט.. אבל ביטויים רגולריים זה כבר נושא קצת מסובך ואם את לומדת בכיתה אז עדיף שתתייעצי עם המורה לגבי זה.
רן שרייבר, 11/6/2014
הוסף תשובה  |  הוסף הערה
תודה הצלחתי לסדר את הבעייה שלי XD
Alma Daniel, 11/6/2014
הוסף תשובה  |  הוסף הערה
נראה לי שפשוט עלייך להשתמש באופרטור לוגי של or (||) ולא של AND (&&), תביני, התנאי שכתבת יתבצע רק במידה וכל התנאים הלא טובים של האימייל מתקיימים, אם תשתמשי בOR אז במידה והאימייל לא תואם את אחד התנאים שלך, התנאי יתקיים ויוחזר שקר. מקווה שהבנת, אם לא תוכלי ליצור איתי קשר במייל
dorkelner, 11/6/2014
הוסף תשובה  |  הוסף הערה
הוסף תשובה לשאלה זו:




וובמאסטר © כל הזכויות שמורות