ABA


"בעיה בJAVASCRIPT"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #12021 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 12021
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   10:55   01.05.07   
אל הפורום  
  בעיה בJAVASCRIPT  
 
   ערכתי לאחרונה בתאריך 01.05.07 בשעה 10:58 בברכה, ronen333
 
רציתי לעשות באתר שלי סקריפט שבודק אם הסיסמה שהקישו היא חזקה חלשה או קצרה מידי.

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

הנה הקוד-


<html dir="rtl">
<head>
<title>אבטחת סיסמא</title>
<script language="javascript">
var i;

function password_strength()
{
if(document.myform.pass.value.length<4)
{
return 1;
}
if(document.myform.pass.value.length<6)

{
return 2;
}

for(i=0;i<document.myform.pass.value.length;i++)
{
if(document.myform.pass.value[i]==document.myform.pass.value[i+1]-1 || document.myform.pass.value[i]==document.myform.pass.value[i+1]+1)
{
return 2;
}
}
return 3;
}

</script>

</head>
<body>

<form method="post" name="myform" action="http://bla.com/index.asp">
<input type="text" name="pass">
<br>
<input type="submit" value="Check Password" onkeyup="show_strength();">
</form>
<br>

<script language="javascript">
function show_strength()
{
if(password_strength()==1)
{
document.write("הסיסמא קצרה מידי, מנימום 4 תווים");
}
if(password_strength()==2)
{
document.write("סיסמא חלשה!");
}
if(password_strength()==3)
{
document.write("סיסמא חזקה!");
}

}
</script>


</body>
</html>

תודה מראש לכל העוזרים

נב-ניסתי לעשות כמו בC# שאם התו הנוכחי גדול רק ב1 מהתו שלפניו אז זה סיסמה חלשה, עשיתי את זה נכון?


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  לא קראתי את הקוד שלך כי אני צריך לזוז אבל akoka 01.05.07 11:13 1
     אממ משו מהיר שכתבתי לך:) akoka 01.05.07 11:17 2
         לא הבנתי ronen333  01.05.07 12:05 3
             תיקנתי את זה אבל... ronen333  01.05.07 15:07 4
                 document.write מוחק את כל הדף, זה ידוע. Ice Cold  01.05.07 15:22 5
                     אווקי תודה רבה =]. ronen333  01.05.07 15:26 6
                         תיקנתי את התנאי שלי אבל הוא עדיין לא פועל... ronen333  01.05.07 15:41 7
                             לא משנה פתרתי את הבעיה. ronen333  01.05.07 15:55 8
                                 אוצ' מה הבעיה הפעם? =/ ronen333  01.05.07 16:02 9
                                     אני חושב שאתה סתם מסתבך יותר מדיי:) akoka 01.05.07 16:05 10
                                         למה מסתבך? ronen333  01.05.07 16:10 11
                                             כי זה מסתבך אתה לא צריך להשתמש בCharAt יש לך פונקציה akoka 01.05.07 16:24 12
                                                 מה הקשר INDEXOF? ronen333  01.05.07 16:28 13
                                                     אם לא הבנת מה הקשר אין לי מה להגיד לך akoka 01.05.07 16:35 14
                                                         צר לי להגיד לך אחי אבל זה סיבוך, אם אתה כבר מדבר. ronen333  01.05.07 16:50 15
                                                             כתבתי לך פונקציה נחמדה, שתבדוק מספרים עוקבים: Ice Cold  01.05.07 17:30 16

       
akoka

דרג אמינות חבר זה
   11:13   01.05.07   
אל הפורום  
  1. לא קראתי את הקוד שלך כי אני צריך לזוז אבל  
בתגובה להודעה מספר 0
 
   אם אתה רוצה שברגע שמקלידים בתוך התיבת טקסט זה יציג שהסיסמא חלשה מדיי תעביר את הOnkeypress מהכפתור לתיבת הטקסט;)

אבל מדיפדוף קל יש עוד שגיאות לדעתי


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   11:17   01.05.07   
אל הפורום  
  2. אממ משו מהיר שכתבתי לך:)  
בתגובה להודעה מספר 1
 
   ממש לא היה לי זמן אבל אני בטוח שתבין זה בקשר לסיסמא החלשה

<html>
<head>
<title>test</title>
<script type="text/javascript" language="javascript">
function check(){
if (document.myform.pass.value.length<4){
newel=document.createElement("SPAN");
easypass.appendChild(newel);
newel.innerHTML='easypass';
}
}
</script>
</head>
<body>
<form name="myform">
<input type="password" onkeypress="check()" name="pass" />
<div id="easypass"></div>
<input type="button" value="check" />
</body>

זה משתמש בdom כמובן שאפשר לעשות את זה בדרך שלך
רק תשנה את זה למה שאתה צריך למה זה ידפיס את הeasy pass
4 פעמים


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   12:05   01.05.07   
אל הפורום  
  3. לא הבנתי  
בתגובה להודעה מספר 2
 
   לא הבנתי את כל הקטע הזה-

newel=document.createElement("SPAN");
easypass.appendChild(newel);
newel.innerHTML='easypass';

ומה שאני רוצה להבין זה למה הקוד שלי לא פועל, החלפתי את זה לonkeypress, עדיין לא פועל.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   15:07   01.05.07   
אל הפורום  
  4. תיקנתי את זה אבל...  
בתגובה להודעה מספר 3
 
   ערכתי לאחרונה בתאריך 01.05.07 בשעה 15:25 בברכה, ronen333
 

<html dir="rtl">
<head>
<title>אבטחת סיסמא</title>
<script language="javascript">
var i;

function password_strength()
{
if(document.myform.pass.value.length<4)
{
return 1;
}
if(document.myform.pass.value.length<6)

{
return 2;
}

for(i=0;i<document.myform.pass.value.length;i++)
{
if(document.myform.pass.value==document.myform.pass.value-1 || document.myform.pass.value==document.myform.pass.value+1)
{
return 2;
}
}
return 3;
}

</script>

</head>
<body>

<form method="post" name="myform" action="http://bla.com/index.asp">
<input type="text" name="pass" Onkeyup="show_strength();">
<br>
<input type="submit" value="Check Password">
</form>
<br>

<script language="javascript">
function show_strength()
{
if(password_strength()==1)
{
document.write("הסיסמא קצרה מידי, מנימום 4 תווים");
}
if(password_strength()==2)
{
document.write("סיסמא חלשה!");
}
if(password_strength()==3)
{
document.write("סיסמא חזקה!");
}

}
</script>


</body>
</html>

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


אני מאמין שהinnerHTML עושה את זה, אבל תוכל להסביר לי בדיוק מה זה הפקודה הזאת? איך פועלים איתה והכל?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק, 36 נקודות
   15:22   01.05.07   
אל הפורום  
  5. document.write מוחק את כל הדף, זה ידוע.  
בתגובה להודעה מספר 4
 
מה שאתה צריך, זה לשים איזה SPAN או DIV או FONT ולכתוב לתוכו את התוצאה.

הנה הקוד המתוקן:

http://rotter.name/User_files/nor/463730ff7b805414.txt


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   15:26   01.05.07   
אל הפורום  
  6. אווקי תודה רבה =].  
בתגובה להודעה מספר 5
 
   ערכתי לאחרונה בתאריך 01.05.07 בשעה 15:27 בברכה, ronen333
 
יש לכם עוד דרכים לבדוק אם הסיסמה היא טובה?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   15:41   01.05.07   
אל הפורום  
  7. תיקנתי את התנאי שלי אבל הוא עדיין לא פועל...  
בתגובה להודעה מספר 6
 
   ערכתי לאחרונה בתאריך 01.05.07 בשעה 15:49 בברכה, ronen333
 

for(i=0;i<document.myform.pass.value.length;i++)
{
if(document.myform.pass.value[i]==document.myform.pass.value[i+1]-1 || document.myform.pass.value[i]==document.myform.pass.value[i+1]+1)
{
mone=mone+1;
}
}
if(mone>4)
{
return 2;
}

התנאי הזה שעשיתי לא פועל.. עשיתי את הסיסמה 123456
וזה אמור להראות חלש לא?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   15:55   01.05.07   
אל הפורום  
  8. לא משנה פתרתי את הבעיה.  
בתגובה להודעה מספר 7
 
   נזכרתי שיש את הפקודה CHARAT.
וגם יש חריגה בלולאה.

אקיצר פתרתי את הבעיה.

תודה לכולם על העזרה .


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   16:02   01.05.07   
אל הפורום  
  9. אוצ' מה הבעיה הפעם? =/  
בתגובה להודעה מספר 8
 
   ערכתי לאחרונה בתאריך 01.05.07 בשעה 16:03 בברכה, ronen333
 
חשבתי שפתרתי את הבעיה, כמו שאמרתי מקודם.
אבל זה תמיד עושה לי שהסיסמה חלשה, כאילו שהתנאי תמיד מתקיים.
הנה הקוד-

<script language="javascript">
var i;
var mone=0;
function password_strength()
{
if(document.myform.pass.value.length<4)
{
return 1;
}
if(document.myform.pass.value.length<6)

{
return 2;
}

for(i=0;i<document.myform.pass.value.length-1;i++)
{
if(document.myform.pass.value.charAt(i)==document.myform.pass.value.charAt(i+1)-1 || document.myform.pass.value.charAt(i)==document.myform.pass.charAt(i+1)+1)
{
mone=mone+1;
}
}
if(mone>4)
{
return 2;
}

return 3;
}

</script>



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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   16:05   01.05.07   
אל הפורום  
  10. אני חושב שאתה סתם מסתבך יותר מדיי:)  
בתגובה להודעה מספר 9
 
   מה ההגבלות שאתה רוצה בתיבת סיסמאאני יכין לך כמה דקות משהו נחמד?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   16:10   01.05.07   
אל הפורום  
  11. למה מסתבך?  
בתגובה להודעה מספר 10
 
   ערכתי לאחרונה בתאריך 01.05.07 בשעה 16:20 בברכה, ronen333
 
אני רק רוצה לבדוק אם קיים במחרוזת תווים שהם אחד אחרי השני. ככה 12345
או ככה 54321.
עשיתי משהו דומה במתכונת שלי לפני שבוע, רק שזה בC# ולא JS.
בכל מקרה זה הדרך הפשוטה ביותר וזה אמור לעבוד "-.-

למישהו יש הסבר למה זה לא עובד?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   16:24   01.05.07   
אל הפורום  
  12. כי זה מסתבך אתה לא צריך להשתמש בCharAt יש לך פונקציה  
בתגובה להודעה מספר 11
 
   שנקראת indexOf() שמקבלת את המיקום של התוו בסוגריים אז לא בעיה להשתמש בלוגי AND ולבדוק את כול הפוזיציות האפשריות ולהציג הודעה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   16:28   01.05.07   
אל הפורום  
  13. מה הקשר INDEXOF?  
בתגובה להודעה מספר 12
 
   ערכתי לאחרונה בתאריך 01.05.07 בשעה 16:29 בברכה, ronen333
 
INDEXOF מציג את המיקום של המחרוזת/תו שאתה מחפש.
זה לא קשור.
עדיף למנות כמה תווים במחרוזת הם עוקבים(מה שאני עשיתי).


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   16:35   01.05.07   
אל הפורום  
  14. אם לא הבנת מה הקשר אין לי מה להגיד לך  
בתגובה להודעה מספר 13
 
  

if (indexOf("1") !=0 and .. and .. and ..){
return 1;
}else{
return true;
}


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   16:50   01.05.07   
אל הפורום  
  15. צר לי להגיד לך אחי אבל זה סיבוך, אם אתה כבר מדבר.  
בתגובה להודעה מספר 14
 
   לא יותר פשוט לשאול אם המחרוזת במקום הI קטנה ב1 מהמחרוזת בI+1?
כלומר
יש לך מחרוזת:
"1234"
1 זה מקום 0, 2 זה מקום 1.
אם המחרוזת במקום ה0 קטנה ב1 מהמחרוזת במקום במקום ה1 מונה++.

אני לא מבין מה מסובך בזה...
בכל מקרה לא משנה אני חושב שכבר סידרתי את זה איך שהו...
בטח היה בעיה באיזה אות קטנה או גדולה של משהו =/.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק, 36 נקודות
   17:30   01.05.07   
אל הפורום  
  16. כתבתי לך פונקציה נחמדה, שתבדוק מספרים עוקבים:  
בתגובה להודעה מספר 15
 

function checkConsecutive(num)
{
var numChar = parseInt(num.charAt(0));
for (var i=1;i<num.length;i++)
{
if (num.charAt(i) == parseInt(numChar)+1 || num.charAt(i) == parseInt(numChar)-1)
numChar = num.charAt(i);
else
return false;
}
return true;
}

השימוש:


isConsecutive = checkConsecutive("12345654321");

יחזיר TRUE, כי הספרות עוקבות (ירידה או עליה).


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net