זאת הבדיקה שעשיתי:
function isName(chkName) { var badc var i var k var badSt badSt="}{~!@#$%^&*()_+-=,./<>?\|:" name=chkName.value badc=0 sw_num=0 if (name.length < 2) { window.alert("טעות, שם משתמש קצר מדי") sw_error=1 } if (! isNaN(name)) { window.alert("טעות , יש להקיש בשם משתמש אותיות בלבד") sw_error=1 } for (i=0; i<10; i++) if (name.indexOf(i)>=0) { sw_num=1 } if (sw_num==1) { window.alert("השם משתמש כולל מספרים") sw_error=1 } for (i=1;i<=name.length;i++) { for (k=1;k<=badSt.length;k++) { if (name.charAt(i)==badSt.charAt(k)) { badc=1 i=name.length k=badSt.length } } } if (badc==1) { window.alert("תווים לא חוקיים בשם משתמש") sw_error=1 } }
|
הבעיה היא שאפילו אם המשתמש מקיש תווים חוקיים הוא מקבל שגיאה של תווים לא חוקיים