0

ביטוי רגולרי של סיסמה חזקה - מוסבר כללי מבט קדימה

נפה באגים בביטויים רגילים של JavaScript: התאמות מודגשות, קבוצות לכידה, דגלים ותצוגה מקדימה של החלפה.

תומך ב-$1, $2 והפניות בשמות כמו $<name>; $& מוסיף את כל ההתאמה. השאר ריק כדי להסתיר את התצוגה המקדימה.

מעבד... 0%

תוצאה

דף זה נפתח עם דפוס מדיניות סיסמה שנבנה כולו מ-lookaheads: ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^A-Za-z0-9\s]).{8,}$. כל (?=...) הוא בדיקה ברוחב אפס שסורקת את כל השורה מבלי לצרוך אותה: אחת דורשת אות קטנה, אחת אות גדולה, אחת ספרה, אחת תו מיוחד - ורק אז .{8,} אוכפת את האורך המינימלי.

הדגלים חשובים כאן: m עושה ^ ו-$ עוגן לכל שורה במקום הטקסט כולו, ו-g מוצא כל שורה שמתאימה. זה הופך את הבוחן לרשימת בדיקה - הדוגמה מכילה חמש סיסמאות מועמדות, ורק השורות המספקות את כל ארבעת ההסתכלות נדלקות. ראה במבט חטוף מדוע password123 נכשל (ללא אותיות רישיות, ללא תו מיוחד) בעוד Tr0ub4dor&3 עובר.

מבטי מבט הם הדרך הסטנדרטית לבטא תנאים של "חייב להכיל X איפשהו" בביטוי יחיד, והגדרה מראש זו היא מגרש משחקים בטוח ללמוד אותם. הדק את המדיניות ל-12+ תווים, הוסף סימון (?!.*(.)\1\1) כנגד חזרות משולשות, או הדבק רשימה של סיסמאות מועמדות אמיתיות - כל שינוי מוערך מחדש באופן מיידי ושום דבר שאתה מקליד לא יוצא מהדפדפן שלך.