สร้างรหัสผ่าน 8 ตัวอักษรและละติน วิธีสร้างรหัสผ่านที่รัดกุม วิธีการสร้างรหัสผ่าน

ฉันต้องการ การแสดงออกปกติเพื่อตรวจสอบสิ่งนี้:

รหัสผ่านประกอบด้วยอักขระอย่างน้อยแปดตัว รวมทั้งตัวเลขอย่างน้อยหนึ่งตัว และมีทั้งตัวพิมพ์เล็กและ ตัวพิมพ์ใหญ่และ อักขระพิเศษ, ตัวอย่างเช่น # , ? - -

ไม่สามารถเป็นรหัสผ่านเก่าของคุณหรือมีชื่อผู้ใช้ "รหัสผ่าน" หรือ "ชื่อเว็บไซต์" ของคุณ

นี่คือนิพจน์การตรวจสอบของฉันซึ่งมีอักขระแปดตัว รวมถึงอักษรตัวพิมพ์ใหญ่หนึ่งตัว ตัวพิมพ์เล็กหนึ่งตัว และตัวเลขหรืออักขระพิเศษหนึ่งตัว

(?=^.(8,)$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*)(?=.* ).*$"

ฉันจะเขียนรหัสผ่านให้มีอักขระแปดตัวได้อย่างไร รวมถึงตัวพิมพ์ใหญ่หนึ่งตัว อักขระพิเศษหนึ่งตัว และอักขระตัวอักษรและตัวเลข

จาวาสคริปต์ asp.net regex

24 ตอบกลับ


877

อย่างน้อยแปดตัวอักษร อย่างน้อยหนึ่งตัวอักษรและตัวเลขหนึ่งตัว:

"^(?=.*)(?=.*\d)(8,)$"

อักขระอย่างน้อยแปดตัว อย่างน้อยหนึ่งตัวอักษร ตัวเลขหนึ่งตัว และอักขระพิเศษหนึ่งตัว:

"^(?=.*)(?=.*\d)(?=.*[@$!%*#?&])(8,)$"

อย่างน้อยแปดตัวอักษร ตัวพิมพ์ใหญ่อย่างน้อยหนึ่งตัว ตัวพิมพ์เล็กหนึ่งตัว และตัวเลขหนึ่งตัว:

"^(?=.*)(?=.*)(?=.*\d)(8,)$"

อักขระอย่างน้อยแปดตัว ตัวพิมพ์ใหญ่หนึ่งตัว ตัวพิมพ์เล็กหนึ่งตัว ตัวเลขหนึ่งตัว และอักขระพิเศษหนึ่งตัว:

"^(?=.*)(?=.*)(?=.*\d)(?=.*[@$!%*?&])(8,)$"

อักขระอย่างน้อยแปดตัวและสูงสุด 10 ตัว โดยมีอักษรตัวพิมพ์ใหญ่หนึ่งตัว ตัวพิมพ์เล็กหนึ่งตัว ตัวเลขหนึ่งตัว และอักขระพิเศษหนึ่งตัว:

"^(?=.*)(?=.*)(?=.*\d)(?=.*[@$!%*?&])(8,10)$"


53

นิพจน์ทั่วไปไม่มีตัวดำเนินการ AND ดังนั้นจึงค่อนข้างยากที่จะเขียน regex ที่ตรงกับรหัสผ่านที่ถูกต้อง เมื่อความเป็นจริงถูกกำหนดโดยบางสิ่ง AND อย่างอื่น AND อย่างอื่น...

แต่นิพจน์ทั่วไปมีตัวดำเนินการ OR ดังนั้นเพียงใช้ทฤษฎีบทของ DeMorgan และเขียน regex ที่ตรงกับรหัสผ่านที่ไม่ถูกต้อง:

อะไรก็ได้ที่น้อยกว่าแปดตัวอักษร หรืออะไรก็ตามที่ไม่มีตัวเลข หรือสิ่งใดก็ตามที่ไม่มีตัวพิมพ์ใหญ่ หรือหรืออะไรก็ตามที่ไม่มีตัวอักษรพิมพ์เล็ก หรือสิ่งใดก็ตามที่ไม่มีอักขระพิเศษ

^(.(0.7)|[^0-9]*|[^A-Z]*|[^a-z]*|*)$

หากมีสิ่งใดตรงกับสิ่งนี้ แสดงว่ารหัสผ่านไม่ถูกต้อง


29

การปรับปรุงคำตอบของ @anubhava เล็กน้อย: เนื่องจากอักขระพิเศษถูกจำกัดไว้เฉพาะอักขระบนแป้นพิมพ์ ให้ใช้สิ่งนี้สำหรับอักขระพิเศษ:

^(?=.*?)(?=(.*)(1,))(?=(.*[\d])(1,))(?=(.*[\W])(1, ))(?!.*\s).(8,)$

regex นี้จะบังคับใช้กฎเหล่านี้:

  • ตัวอักษรภาษาอังกฤษตัวพิมพ์ใหญ่อย่างน้อยหนึ่งตัว
  • ตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กอย่างน้อยหนึ่งตัว
  • อย่างน้อยหนึ่งหมายเลข
  • อักขระพิเศษอย่างน้อยหนึ่งตัว
  • ความยาวขั้นต่ำแปด


20

ฉันประสบปัญหาในการปฏิบัติตามคำตอบยอดนิยมที่สุดในสถานการณ์ของฉัน ตัวอย่างเช่น เช็คของฉันล้มเหลวด้วยอักขระเช่น; หรือ [ . ฉันไม่สนใจที่จะกำหนดอักขระพิเศษของฉันไว้ในรายการที่อนุญาตพิเศษ ดังนั้นฉันจึงใช้ [^\w\s] เป็นแบบทดสอบแทน - ใส่เพียง - จับคู่อักขระที่ไม่ใช่คำ (รวมถึงอักขระที่เป็นตัวเลข) และอักขระที่ไม่ใช่ช่องว่าง โดยสรุปนี่คือสิ่งที่ใช้ได้ผลสำหรับฉัน ...

  • อย่างน้อย 8 ตัวอักษร
  • อักขระตัวเลขอย่างน้อย 1 ตัว
  • อักษรตัวพิมพ์เล็กอย่างน้อย 1 ตัว
  • อักษรตัวใหญ่อย่างน้อย 1 ตัว
  • อักขระพิเศษอย่างน้อย 1 ตัว
/^(?=.*?)(?=.*?)(?=.*?)(?=.*?[^\w\s]).(8,)$/ ^(?=\S *)(?=\S*)(?=\S*\d)(?=\S*[^\w\s])\S(8,)$

แต่ไม่ยอมรับ _(ขีดล่าง) เป็นอักขระพิเศษ (เช่น Aa12345_)

ปรับปรุงหนึ่ง:

^(?=\S*)(?=\S*)(?=\S*\d)(?=\S*([^\w\s]|[_]))\S(8,) $


2

ฉันพบปัญหามากมายที่นี่ ดังนั้นฉันจึงสร้างปัญหาของตัวเองขึ้นมา

นี่คือความรุ่งโรจน์พร้อมบททดสอบ:

^(?=.*)(?=.*)(?=.*\d)(?=.*([^a-zA-Z\d\s])).(9,)$

สิ่งที่ต้องใส่ใจกับ:

  1. ไม่ได้ใช้ \w เพราะมันรวม _ ที่ฉันกำลังทดสอบอยู่
  2. ฉันประสบปัญหามากในการจับคู่อักขระโดยไม่จับคู่จุดสิ้นสุดของสตริง
  3. ไม่ได้ระบุอักขระโดยเฉพาะ นี่เป็นเพราะว่าสถานที่ที่แตกต่างกันอาจมีอักขระที่แตกต่างกันบนแป้นพิมพ์ที่พวกเขาอาจต้องการใช้


1

เราสามารถทำได้โดยใช้ HTML5

ใช้รหัสด้านล่างในแอตทริบิวต์รูปแบบ

Pattern="(?=^.(8,)$)((?=.*\d)(?=.*\W+))(?![.\n])(?=.*)(?= .*).*$"

มันจะทำงานได้อย่างสมบูรณ์แบบ


1

คุณสามารถใช้รูปแบบนิพจน์ทั่วไปด้านล่างเพื่อตรวจสอบรหัสผ่านว่าตรงกับที่คุณคาดหวังหรือไม่

((?=.*\\d)(?=.*)(?=.*)(?=.*[~!@#$%^&*()]).(8,20))


1

ใช้ Regex ต่อไปนี้เพื่อทำสิ่งนี้ เงื่อนไขต่อไปนี้:

เงื่อนไข: 1] อักขระพิเศษขั้นต่ำ 1 ตัว

2] ขั้นต่ำ 1 หมายเลข


0

3] ขั้นต่ำ 8 ตัวอักษรหรือมากกว่า

Regex: ^(?=.*\d)(?=.*[#$@!%&*?])(8,)$


0

ลองสิ่งนี้:

^.*(?=.{8,})(?=.*)(?=.*)(?=.*[@#$%^&+=])*$

regex นี้ใช้งานได้ดีสำหรับฉัน

ฟังก์ชัน myFunction() ( var str = "c1TTTTaTTT@"; var patt = new RegExp("^.*(?=.(8,))(?=.*)(?=.*)(?=.*[ @#$%^&+=])*$"); var res = patt.test(str); console.log("ตรงกับปกติ:", res); )


0

หวังว่าด้านล่างนี้จะได้ผล ฉันลองสิ่งนี้ในนโยบาย Azure ที่กำหนดเอง

^(?=. ) (?=. ) (?=. \d)(?=. [@#$%^&*-_+={}|\:",?/ ~"();!])({}|\\:",?/ ~"();!]|.(?!@)){6,16}$


-1

วิธีแก้ปัญหาที่ฉันพบในคำตอบข้อใดข้อหนึ่งก่อนหน้านี้คือ:

ขั้นต่ำ 8 ตัวอักษร ขั้นต่ำ 1 ตัวอักษรพิมพ์ใหญ่, 1 ตัวอักษรพิมพ์เล็ก, 1 ตัวเลข และ 1 ตัวอักษรพิเศษ: "^(?=. ) (?=. ) (?=. \d)(?=. [$@$!% ?&]){8 ,}" ..

.

สิ่งนี้ใช้ไม่ได้สำหรับฉัน แต่ต่อไปนี้เป็นเวอร์ชันที่เรียบง่ายและใช้งานได้ดี (เพิ่มอักขระพิเศษที่คุณต้องการ ฉันเพิ่ม # ที่นี่) และยังเพิ่มกฎตัวเลขเช่นเดียวกับที่คุณทำกับตัวอักษรเช่น:

"^(?=.*)(?=.*)(?=.*)(?=.*[$@$!%*?&]){8,}"


การตรวจสอบรหัสผ่าน Regex โดยใช้ตัวดำเนินการแบบมีเงื่อนไข Java

ฉันยังใหม่กับ regex โดยทั่วไปฉันต้องตรวจสอบรหัสผ่านใน Java ตามข้อกำหนดต่อไปนี้: รหัสผ่านต้องมีอักขระอย่างน้อยหกตัว รหัสผ่านต้องมีความยาวไม่เกิน 20 ตัวอักษร เพื่อ...


regex อนุญาตเฉพาะตัวอักษร ตัวเลข จุด ขีดล่าง ขีดกลางเท่านั้น อย่างน้อย 5 ตัวอักษร

วิธีทำให้กฎด้านล่างพอดี regex อนุญาตให้ใช้เฉพาะตัวอักษร (ตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก) ตัวเลข จุด ขีดล่าง ขีดกลางอย่างน้อย 5 ตัวอักษรต้องไม่มีคำหรือส่วนขยายทั่วไป...


Regex จะ "ห้ามใช้อักขระพิเศษหรือการเว้นวรรค" แต่ "อนุญาตให้ใช้ตัวเลขและตัวอักษร "ตัวพิมพ์ใหญ่" หรือ "ตัวพิมพ์เล็ก"

ฉันใช้ regex นี้แล้ว: ^(6,)$ อนุญาต: ตัวเลข ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก ห้าม: ช่องว่างและอักขระพิเศษหรือสัญลักษณ์ แต่ฉันต้องการเปลี่ยนเป็น: - อนุญาต:...


นิพจน์ทั่วไปสำหรับรหัสผ่าน

ฉันต้องการความช่วยเหลือในการสร้างรหัสผ่าน regex รหัสผ่านจะต้องมีอักขระอย่างน้อย 4 ตัว ตัวอักษร (ตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก) ตัวเลข และอักขระพิเศษ - ห้ามเว้นวรรค MSN เป็นนิพจน์ทั่วไป


Regex สำหรับการรวมกันของกฎที่กำหนด

ฉันกำลังพยายามเขียน regex เพื่อตรวจสอบรหัสผ่านสำหรับกฎที่กำหนด รหัสผ่านต้องมีความยาวอย่างน้อย 8 ตัวอักษร และประกอบด้วยอักขระอย่างน้อย 3 ใน 4 ประเภทต่อไปนี้: ตัวอักษรตัวพิมพ์เล็ก (เช่น...


หนึ่ง Regex สำหรับการตรวจสอบรหัสผ่านที่ครอบคลุม

ฉันต้องตรวจสอบรหัสผ่านเพื่อให้แน่ใจว่าเป็นไปตามกฎเหล่านี้ A) รหัสผ่านจะต้องมีอักขระจาก 3 ใน 4 คลาสต่อไปนี้: ตัวพิมพ์ใหญ่ภาษาอังกฤษ A, B, C, ... Z ตัวพิมพ์เล็กภาษาอังกฤษ...


รหัสผ่าน Regex ต้องมีอักขระอย่างน้อย 8 ตัว ตัวเลข ตัวอักษร และอักขระพิเศษอย่างน้อย 1 ตัว

ฉันต้องการนิพจน์ทั่วไปซึ่งต้องมีอักขระตัวเลขอย่างน้อยหนึ่งตัว อนุญาตให้ใช้ทั้งอักษรตัวพิมพ์ใหญ่และตัวพิมพ์เล็กได้ อนุญาตให้ใช้อักขระพิเศษด้วย ฉันกำลังใช้สิ่งนี้...


Regex สำหรับรหัสผ่านที่มีความยาวอย่างน้อย 6 ตัวอักษร

ฉันต้องใช้ regex เพื่อตรวจสอบรหัสผ่านตามเงื่อนไขด้านล่าง ความยาวอย่างน้อย 6 ตัวอักษร ต้องมีตัวอักษรอย่างน้อย 1 ตัว ต้องมีตัวเลขอย่างน้อย 1 ตัว หากรหัสผ่านประกอบด้วยอักขระพิเศษ...


บางครั้งรูปแบบก็ตรงกันและบางครั้งก็ไม่ตรงกัน

ฉันได้ใช้รูปแบบในเชิงมุม 5 ด้วยรหัสต่อไปนี้ในไฟล์ field.ts เพื่อตรวจสอบรหัสผ่าน จะต้องดำเนินการนี้ - รองรับอักขระอย่างน้อยแปดตัว ตัวพิมพ์ใหญ่อย่างน้อยหนึ่งตัว หนึ่ง...


regex สำหรับรหัสผ่านที่มีความยาวอย่างน้อย 8 ตัวอักษร ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก ตัวเลข อักขระพิเศษและไม่ซ้ำกัน?

สวัสดี ฉันต้องการค้นหานิพจน์ทั่วไปที่ตรงตามเงื่อนไขเหล่านี้ (1) รหัสผ่านต้องมีอักขระอย่างน้อย 8 ตัว (2) ต้องมีตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก ตัวเลข และ...

เครื่องสร้างรหัสผ่านสร้างรหัสผ่านแบบเรียลไทม์ รหัสผ่านที่สร้างขึ้นจะไม่ถูกบันทึกทุกที่และจะแสดงบนอุปกรณ์ของคุณเท่านั้น (พีซี แท็บเล็ต หรือสมาร์ทโฟน)

แต่ละครั้งที่คุณเปลี่ยนการตั้งค่า ให้คลิกปุ่ม "สร้าง" หรือโหลดหน้าซ้ำ รหัสผ่านใหม่จะถูกสร้างขึ้น

ตามค่าเริ่มต้น ตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ตัวเลข และอักขระบริการบางตัวจะถูกใช้เพื่อสร้างรหัสผ่าน หากต้องการเปลี่ยนรายการอักขระ ให้ใช้ "การตั้งค่าเครื่องมือสร้างรหัสผ่าน"

การตั้งค่าตัวสร้างรหัสผ่าน

ความยาวรหัสผ่าน
เครื่องสร้างรหัสผ่านสร้างรหัสผ่านที่มีความยาวตั้งแต่ 5 ถึง 30 ตัวอักษร ในตอนแรก รหัสผ่านจะถูกสร้างขึ้นโดยมีความยาว 10 ตัวอักษร โดยทั่วไปไม่แนะนำให้ใช้รหัสผ่านที่มีความยาวน้อยกว่า 7 ตัวอักษร

ขอแนะนำให้ใช้รหัสผ่านที่ยาวขึ้นเพื่อการป้องกันการแฮ็กที่แข็งแกร่งยิ่งขึ้น แต่อาจไม่สะดวกในการบันทึกหรือจดจำ
ตัวอักษรภาษาอังกฤษและรัสเซีย

โดยทั่วไปแล้ว ตัวอักษรภาษาอังกฤษ (ละติน) ใช้สำหรับรหัสผ่าน อย่างไรก็ตาม สามารถใช้ตัวอักษรรัสเซียได้เช่นกัน
ตัวอักษรรัสเซียเพิ่มความซับซ้อนของรหัสผ่านอย่างมากเมื่อพยายามถอดรหัสโดยใช้กำลังดุร้าย แต่ระวังด้วย บางระบบอาจไม่รองรับรหัสผ่านที่มีอักษรซีริลลิก แนะนำให้ตรวจสอบก่อน

ตัวเลข
รหัสผ่านที่มีอักขระพิเศษสามารถต้านทานการแฮ็กได้มากที่สุด ในระหว่างการลงทะเบียน หลายระบบกำหนดให้รหัสผ่านต้องมีอักขระบริการ

เราขอแนะนำว่าอย่าละเลยการใช้สัญลักษณ์ดังกล่าวและรวมไว้ในรหัสผ่านที่สร้างขึ้น

ข้อยกเว้น
ตัวอักษรรัสเซียคล้ายกับภาษาอังกฤษและตัวอักษรภาษาอังกฤษคล้ายกับภาษารัสเซีย

หากคุณใช้ทั้งตัวอักษรภาษาอังกฤษและรัสเซียเมื่อใช้เครื่องสร้างรหัสผ่านออนไลน์ คุณอาจประสบปัญหา "ความคล้ายคลึง" ที่มองเห็นได้ของตัวอักษรภาษาอังกฤษและรัสเซียบางตัว
ตัวอักษรเช่น A และ A, B และ B, C และ C, E และ E (a, ay, ve, bi, es, si, e, i) เป็นตัวอักษรที่แตกต่างกันแม้ว่าจะดูเหมือนกันก็ตาม เพื่อหลีกเลี่ยงความสับสนเมื่อใช้รหัสผ่านในอนาคต ให้ใช้รายการการตั้งค่าที่เหมาะสม กำจัดสระหรือไม่รวมพยัญชนะใช้จุดเหล่านี้

การตั้งค่าเพิ่มเติม
หากคุณต้องการยกเว้นสระหรือพยัญชนะเมื่อสร้างรหัสผ่าน

ยกเว้นอักขระที่คล้ายกัน

ดูสัญลักษณ์ I, l, 1, | (ai, el, หน่วย, แถบแนวตั้ง) ตัวอักษร สัญลักษณ์ และตัวเลขดังกล่าวจะคล้ายกันมากเมื่อเขียน ดังนั้นข้อผิดพลาดอาจเกิดขึ้นเมื่อบันทึกและใช้รหัสผ่านในภายหลัง เพื่อกำจัดข้อผิดพลาดดังกล่าว ให้ใช้รายการการตั้งค่านี้
การตั้งค่าอื่นๆ

รายการสัญลักษณ์ที่ใช้
ในหน้าต่างรายการอักขระที่ใช้ของเครื่องสร้างรหัสผ่านจะมีอักขระทั้งหมดที่ใช้สร้างรหัสผ่านโดยคำนึงถึงการตั้งค่าปัจจุบัน คุณสามารถแก้ไขรายการได้ - ลบรายการที่ไม่จำเป็นออกและเพิ่มสัญลักษณ์ที่คุณต้องการ เมื่อคุณลบหรือเพิ่มอักขระในหน้าต่างแก้ไขรายการ รหัสผ่านใหม่จะถูกสร้างขึ้นโดยอัตโนมัติ โดยคำนึงถึงการเปลี่ยนแปลงที่เกิดขึ้น

รีเซ็ตการตั้งค่า
การตั้งค่าทั้งหมดที่ทำในขณะที่ใช้ตัวสร้างรหัสผ่านจะถูกบันทึกลงในหน่วยความจำ (คุกกี้) ของเบราว์เซอร์ของคุณโดยอัตโนมัติ เป็นการตั้งค่าที่บันทึกไว้ แต่ไม่ใช่รหัสผ่าน! ตามที่กล่าวไว้ข้างต้น รหัสผ่านใหม่จะถูกสร้างขึ้นในแต่ละครั้ง หากต้องการรีเซ็ตการตั้งค่าเป็นสถานะดั้งเดิม ให้ใช้ลิงก์ "รีเซ็ตการตั้งค่า" เมื่อรีเซ็ต รหัสผ่านใหม่จะถูกสร้างขึ้นโดยอัตโนมัติโดยคำนึงถึงการตั้งค่าดั้งเดิม

ลิงก์ไปยังเครื่องมือสร้างรหัสผ่าน

หากคุณต้องการส่งลิงก์ไปยังเพื่อน "ตัวสร้างรหัสผ่าน" หรือเผยแพร่บนโซเชียลเน็ตเวิร์ก ให้คัดลอกที่อยู่จากหน้าต่างพิเศษที่อยู่ด้านล่างของตัวสร้าง

  • ข้อมูลส่วนบุคคลที่ง่ายต่อการค้นหา เช่น ชื่อ นามสกุล หรือวันเดือนปีเกิด
  • ชัดเจนและ คำง่ายๆวลี ชุดสำนวน และชุดตัวอักษรที่หยิบใช้ได้ง่าย ตัวอย่างเช่น: รหัสผ่าน, parol, abcd, qwerty หรือ asdfg, 1234567

วิธีการสร้างรหัสผ่าน

  • คิดอัลกอริทึมสำหรับสร้างรหัสผ่าน
    เช่น ใช้บทกวีหรือคำพูดที่คุณชื่นชอบเป็นพื้นฐาน เขียนลงในตัวอักษรละตินตัวพิมพ์เล็กและตัวพิมพ์ใหญ่แล้วแทนที่บางส่วนด้วยตัวเลขหรือสัญลักษณ์ที่คล้ายกัน: I_p0Mn|O_4y9n0e Mg№vEn|E (ฉันจำช่วงเวลาที่ยอดเยี่ยมได้)
  • ใช้เครื่องสร้างรหัสผ่าน
    ด้วย Kaspersky Password Manager คุณสามารถสร้างรหัสผ่านที่ซับซ้อน ตรวจสอบความรัดกุมของรหัสผ่าน และจัดเก็บอย่างปลอดภัย คุณยังสามารถติดตั้งส่วนขยาย Kaspersky Password Manager ในเบราว์เซอร์ของคุณเพื่อกรอกข้อมูลในช่องป้อนข้อมูลบนเว็บไซต์โดยอัตโนมัติ

ความถี่ในการเปลี่ยนรหัสผ่านของคุณ

การป้องกันด้วยรหัสผ่าน

  • อย่าเปิดเผยหรือส่งรหัสผ่านของคุณให้กับใครก็ตาม
  • อย่าทิ้งรหัสผ่านที่เขียนไว้บนกระดาษไว้ในที่ที่สามารถเข้าถึงได้
  • ใช้เครื่องมือจัดการรหัสผ่านหรือที่เก็บข้อมูลรหัสผ่านในตัวของเบราว์เซอร์ของคุณ
  • ใช้รหัสผ่านที่แตกต่างกันสำหรับบัญชีของคุณ หากคุณใช้รหัสผ่านเดียวกันและผู้โจมตีพบรหัสผ่านของรหัสผ่านนั้น บัญชีเขาจะสามารถเข้าถึงคนอื่นๆ ได้


นิพจน์ทั่วไปสำหรับรหัสผ่านจะต้องมีอักขระอย่างน้อยแปดตัว อย่างน้อยหนึ่งตัวเลข และตัวอักษรตัวพิมพ์เล็กและใหญ่ และอักขระพิเศษ (15)

ใช้ Regex ต่อไปนี้เพื่อให้ตรงตามเงื่อนไขต่อไปนี้:

เงื่อนไข: 1] อักขระพิเศษขั้นต่ำ 1 ตัว

2] ขั้นต่ำ 1 หมายเลข

2] ขั้นต่ำ 1 หมายเลข

3] ขั้นต่ำ 8 ตัวอักษรหรือมากกว่า

สามารถทดสอบออนไลน์ได้ที่: https://regex101.com

ฉันต้องการให้ regex ตรวจสอบว่า:

รหัสผ่านมีความยาวอย่างน้อยแปดตัวอักษร รวมทั้งตัวเลขอย่างน้อยหนึ่งตัว และมีทั้งอักษรตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ และอักขระพิเศษ เช่น # ? - -

ไม่สามารถเป็นรหัสผ่านเก่าของคุณหรือมีชื่อผู้ใช้ "รหัสผ่าน" หรือ "ชื่อเว็บไซต์" ของคุณ

และนี่คือนิพจน์ทดสอบของฉันซึ่งมีอักขระแปดตัว รวมถึงอักษรตัวพิมพ์ใหญ่หนึ่งตัว ตัวพิมพ์เล็กหนึ่งตัว และตัวเลขหรืออักขระพิเศษหนึ่งตัว

(?=^.(8,)$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*)(?=.* ).*$"

ฉันจะเขียนรหัสผ่านที่มีความยาวแปดตัวอักษรได้อย่างไร รวมถึงตัวพิมพ์ใหญ่หนึ่งตัว อักขระพิเศษหนึ่งตัว และตัวอักษรและตัวเลข

@ClasG แนะนำแล้ว:

^(?=\S*)(?=\S*)(?=\S*\d)(?=\S*[^\w\s])\S(8,)$

^(?=\S*)(?=\S*)(?=\S*\d)(?=\S*([^\w\s]|[_]))\S(8,) $

ใน Java/Android เพื่อตรวจสอบรหัสผ่านที่มีตัวเลขอย่างน้อยหนึ่งตัว ตัวอักษรหนึ่งตัว และอักขระพิเศษหนึ่งตัวในรูปแบบต่อไปนี้:

"^(?=.*)(?=.*\\d)(?=.*[$@$!%*#?&])(8,)$"

รุ่นนี้ควรใช้งานได้ดีตามความต้องการของคุณ ลองสิ่งนี้

^(?=(.*\d)(1))(.*\S)(?=.*)(8,)

เพียงสร้างตัวแปรสตริง กำหนดเทมเพลต และสร้างวิธีบูลีนที่จะคืนค่าเป็นจริงหากเทมเพลตถูกต้อง หรือมิฉะนั้นจะเป็นเท็จ

รูปแบบสตริง = "^(?=(.*\d)(1))(.*\S)(?=.*)(8,)"; Stringpassword_string = "พิมพ์รหัสผ่านที่นี่" บูลีนส่วนตัว isValidPassword(Stringpassword_string) ( returnpassword_string.matches(Constants.passwordPattern); )

นำเข้าไฟล์ JavaScript jquery.validate.min.js

คุณสามารถใช้วิธีนี้:

$.validator.addMethod("pwcheck", function (value) ( ​​​​return /[\@\#\$\%\^\&\*\(\)\_\+\!]/.test(value) ) && //.test(ค่า) && //.test(ค่า) && //.test(ค่า) ));

  1. ตัวอักษรภาษาอังกฤษเป็นตัวพิมพ์ใหญ่อย่างน้อยหนึ่งตัว
  2. ตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กอย่างน้อยหนึ่งตัว
  3. อย่างน้อยหนึ่งหลัก
  4. อักขระพิเศษอย่างน้อยหนึ่งตัว

หวังว่าด้านล่างนี้จะได้ผล ฉันลองสิ่งนี้ในนโยบาย Azure ที่กำหนดเอง

(? =. ) (? =. ) (? =. \d)(?=. [@ # $% ^ & * -_ + = {} | \: ",? / ~"();!])({}|\\:",?/ ~" (); ] |. (?! @)) {6,16} $

ไม่ได้ตอบคำถามโดยตรง แต่จำเป็นต้องเป็นนิพจน์ทั่วไปจริงหรือ?

ฉันใช้ Perl มาเยอะและคุ้นเคยกับการแก้ปัญหาเกี่ยวกับนิพจน์ทั่วไป อย่างไรก็ตาม เมื่อมันซับซ้อนมากขึ้นด้วยรูปลักษณ์และนิสัยใจคออื่นๆ คุณจะต้องเขียนการทดสอบหน่วยหลายสิบครั้งเพื่อกำจัดแมลงเล็กๆ น้อยๆ เหล่านั้นทั้งหมด

นอกจากนี้ นิพจน์ทั่วไปมักจะช้ากว่าโซลูชันที่จำเป็นหรือฟังก์ชันหลายเท่า

ตัวอย่างเช่น ฟังก์ชัน Scala (ไม่ใช่ FP มาก) ต่อไปนี้จะแก้คำถามเดิมได้เร็วกว่า regex ของคำตอบยอดนิยมประมาณสามเท่า สิ่งที่ชัดเจนมากจนคุณไม่จำเป็นต้องมีการทดสอบหน่วย:

Def validatePassword (รหัสผ่าน: สตริง): Boolean = ( if (password.length< 8) return false var lower = false var upper = false var numbers = false var special = false password.foreach { c =>if (c.isDigit) ตัวเลข = true else if (c.isLower) lower = true else if (c.isUpper) upper = true else special = true ) lower && upper &&ตัวเลข && special )

ลองสิ่งนี้:

^.*(?=.{8,})(?=.*)(?=.*)(?=.*[@#$%^&+=])*$

regex นี้ใช้งานได้ดีสำหรับฉัน

ฟังก์ชัน myFunction() ( var str = "c1TTTTaTTT@"; var patt = new RegExp("^.*(?=.(8,))(?=.*)(?=.*)(?=.*[ @#$%^&+=])*$"); var res = patt.test(str); console.log("ตรงกับปกติ:", res); )

เราสามารถทำได้โดยใช้ HTML5

ใช้โค้ดด้านล่างในแอตทริบิวต์เทมเพลต

Pattern="(?=^.(8,)$)((?=.*\d)(?=.*\W+))(?![.\n])(?=.*)(?= .*).*$"

มันจะทำงานได้ดี

นิพจน์ทั่วไปไม่มีตัวดำเนินการ AND ดังนั้นจึงค่อนข้างยากที่จะเขียนนิพจน์ทั่วไปที่ตรงกับรหัสผ่านที่ถูกต้อง เมื่อความเป็นจริงถูกกำหนดโดยบางสิ่ง AND อย่างอื่น และ อย่างอื่น...

แต่นิพจน์ทั่วไปมีตัวดำเนินการ OR ดังนั้นเพียงใช้ทฤษฎีบทของ DeMorgan และเขียนนิพจน์ทั่วไปที่ตรงกับรหัสผ่านที่ไม่ถูกต้อง:

อะไรก็ได้ที่มีอักขระน้อยกว่าแปดตัว หรืออะไรก็ได้ที่ไม่มีตัวเลข หรือไม่มีอะไรนอกจากเมืองหลวง หรือหรือไม่มีอะไร ไม่มีตัวอักษรพิมพ์เล็ก หรือไม่มีอะไรนอกจากตัวละครพิเศษ

^(.(0.7)|[^0-9]*|[^A-Z]*|[^a-z]*|*)$

หากมีสิ่งใดตรงกับสิ่งนี้ แสดงว่ารหัสผ่านไม่ถูกต้อง

วิธีแก้ปัญหาที่ฉันพบในคำตอบข้อใดข้อหนึ่งก่อนหน้านี้:

ขั้นต่ำ 8 ตัวอักษร อย่างน้อย 1 ตัวอักษร ตัวพิมพ์เล็ก 1 ตัว ตัวเลข 1 ตัว และอักขระพิเศษ 1 ตัว: "^ (? =. ) (? =. ) (? =. \D)(?=. [ $ @ $!% ? &]) {8,} "

ใช้ไม่ได้สำหรับฉัน แต่ต่อไปนี้เป็นเวอร์ชันที่เรียบง่ายและใช้งานได้ดี (เพิ่มอักขระพิเศษใดๆ ที่คุณต้องการ ฉันได้เพิ่ม # ที่นี่แล้ว) และเพิ่มกฎตัวเลขแบบเดียวกับที่คุณทำกับตัวอักษร:

"^(?=.*)(?=.*)(?=.*)(?=.*[$@$!%*?&]){8,}"

ฉันจะตอบ Peter Mortensen แต่ฉันมีชื่อเสียงไม่มากพอ

สำนวนของเขาเหมาะอย่างยิ่งสำหรับข้อกำหนดขั้นต่ำแต่ละข้อที่ระบุ ปัญหาเกี่ยวกับสำนวนของเขาที่ไม่ต้องใช้อักขระพิเศษก็คือไม่มีอักขระพิเศษและยังมีข้อกำหนดสูงสุดด้วย ซึ่งฉันไม่เชื่อว่า OP จะขอ โดยทั่วไป คุณต้องการให้ผู้ใช้ตั้งรหัสผ่านให้รัดกุมเท่าที่ต้องการ เหตุใดจึงต้องจำกัดรหัสผ่านที่รัดกุม?

ดังนั้น "อย่างน้อยแปดตัวอักษร อย่างน้อยหนึ่งตัวอักษรและตัวเลขหนึ่งตัว":

^(?=.*)(?=.*\d)(8,)$

ถึงข้อกำหนดขั้นต่ำ แต่อักขระที่เหลือสามารถเป็นได้ เท่านั้นตัวอักษรและตัวเลข หากต้องการอนุญาต (แต่ไม่จำเป็น) อักขระพิเศษ คุณควรใช้ดังนี้:

^(?=.*)(?=.*\d).(8,)$ เพื่ออนุญาตอักขระใดก็ได้

^(?=.*)(?=.*\d)(8,)$ เพื่ออนุญาตอักขระพิเศษ

ในทำนองเดียวกัน "อย่างน้อยแปดตัวอักษร ตัวพิมพ์ใหญ่อย่างน้อยหนึ่งตัว ตัวพิมพ์เล็กหนึ่งตัว และตัวเลขหนึ่งตัว:

^(?=.*)(?=.*)(?=.*\d)(8,)$

เป็นไปตามข้อกำหนดขั้นต่ำนี้ แต่อนุญาต เท่านั้นตัวอักษรและตัวเลข การใช้งาน:

^(?=.*)(?=.*)(?=.*\d).(8,)$ เพื่ออนุญาตให้ใช้อักขระใดก็ได้

^(?=.*)(?=.*)(?=.*\d)(8,) เพื่ออนุญาตให้ใช้อักขระพิเศษพิเศษ

ใช้ ต่อไปนี้ Regex เพื่อให้ตรงตามเงื่อนไขด้านล่าง: เงื่อนไข: 1] อักษรตัวพิมพ์ใหญ่อย่างน้อย 1 ตัว

รหัสผ่านจะต้องอยู่ระหว่าง 8 ถึง 16 ตัวอักษร รวมทั้งตัวพิมพ์เล็กอย่างน้อยหนึ่งตัว ตัวพิมพ์ใหญ่หนึ่งตัว และตัวเลขหนึ่งตัว และได้คำตอบที่ดีที่สุด

คำตอบจาก ดี Nikolos[คุรุ]
ไม่จำเป็น. ฉันมีชุดตัวเลข 8 ตัวและตัวอักษร 1 ตัว ขอให้โชคดี!

ตอบกลับจาก อันยา โคริทนิค[มือใหม่]
dfghjkLLLL999


ตอบกลับจาก เวียเชสลาฟ กอร์เดฟ[คุรุ]
ลิงค์
คุณต้องมีตัวเลขที่ด้านล่าง เปิดใช้งาน และในขณะเดียวกันก็ใส่อักขระพิเศษด้วยหากจำเป็น
==
ฉันประสบความสำเร็จ
5JTxuob108AUl15A


ตอบกลับจาก นิกิต้า สตาโรดูมอฟ[คล่องแคล่ว]
ลงทะเบียนแล้ว?


ตอบกลับจาก ดิมา โวโรบีฟสกี[มือใหม่]
lhe0rxqu3


ตอบกลับจาก เซอร์โก้ที่รัก[มือใหม่]
รหัสผ่านของคุณต้องมีความยาว 6-12 ตัวอักษรและประกอบด้วยตัวอักษรผสมกันและตัวเลขอย่างน้อยหนึ่งตัว (*@#?$% ฯลฯ)
สวัสดีเพื่อนๆ ช่วยบอกฉันหน่อยได้ไหมว่ารหัสผ่านอะไรที่ฉันคิดไม่ถึง


ตอบกลับจาก อนาสตาเซีย ชินดริจิน่า[คล่องแคล่ว]
รหัสผ่าน: SXGgfsndfhj654
รหัสผ่าน: HGDFHuufhgsdf
และสิ่งนี้สามารถคงอยู่ตลอดไป...
หรือวันเกิดหรือปีเกิดของคุณ :)


ตอบกลับจาก คิริลล์ เปอร์ดูนอฟ[มือใหม่]
ใช่หรือไม่ใช่


ตอบกลับจาก Lbvf t,frjd[มือใหม่]
คิดขึ้นมาเอง ไม่งั้นจะมีคนมาพูดเอง คุณจะทำ แล้วเขาจะตบคุณ


ตอบกลับจาก ปาชา ปิดร[มือใหม่]
Nada vadit ขายส่งอะไรก็ดี


ตอบกลับจาก คิริลล์ สตาริคอฟ[มือใหม่]
โดยทั่วไปตัวอักษรขนาดใหญ่ ตัวเลข และสัญลักษณ์จะต้องสับเปลี่ยนรหัสผ่านให้ครบถ้วน จากนั้นช่องจะสว่างเป็นสีเขียวเท่านั้น


ตอบกลับจาก เซร์คิโอ00o[คุรุ]
ไม่จำเป็น!


ตอบกลับจาก อา[คุรุ]


ตอบกลับจาก CAHR[คุรุ]
ใช่


ตอบกลับจาก ซล็อบนี ซ็อกโซล[มือใหม่]
รหัสผ่านเป็นเพียงการป้องกันที่สำคัญที่สุดสำหรับการลงทะเบียนของคุณ หากคุณคิดว่ามีคนเข้าถึงข้อมูลของคุณ ให้เปลี่ยนรหัสผ่านของคุณ อย่าใช้ รหัสผ่านง่ายๆเช่น “12345”, “qwerty”, “รหัสผ่าน” ฯลฯ อย่าเขียนชื่อ นามสกุล วันเกิด หรือหมายเลขหนังสือเดินทาง เพียงชื่อหรือคำนามเป็นรหัสผ่าน! รหัสผ่านที่คล้ายกันหยิบง่ายมาก รหัสผ่านจะต้อง: มีอย่างน้อย 6 ตัวอักษร; มีอักษรละตินตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก มีองค์ประกอบตัวเลขหรือเครื่องหมายวรรคตอน ไม่ตรงกับการเข้าสู่ระบบ จำง่ายเพื่อตัวคุณเองจะได้ไม่ลืมมัน


ตอบกลับจาก อิกอร์ เชอโยมูคิน[คล่องแคล่ว]
เจ้าชายฉันเป็นใคร


ตอบกลับจาก ดิเมนตี เอส.[มือใหม่]
รหัสผ่านจะต้องมีอักขระหลายตัว รวมถึงอักขระอย่างน้อยหนึ่งชุด ตัวเลขหนึ่งชุด และสัญลักษณ์หนึ่งชุด ที่นี่... เพื่อความน่าเชื่อถือ คุณสามารถเพิ่มบรรทัดเว้นวรรคได้


ตอบกลับจาก สาวคาวาอิ[มือใหม่]
สวัสดี! ฉันไม่สามารถลงทะเบียนได้ ช่วยด้วย! พวกเขาเขียนถึงฉัน: โปรดทราบ! การลงทะเบียนของคุณไม่ได้รับการยอมรับ! ชื่อเล่นและรหัสผ่านต้องประกอบด้วยอักขระอย่างน้อย 6 ตัวและมีเพียงตัวอักษรและตัวเลขเท่านั้น!


ตอบกลับจาก _ขิง_[คุรุ]
ตัวอย่างรหัสผ่านดังกล่าว
มอย8พาโรล
มีทั้งตัวพิมพ์ใหญ่และตัวพิมพ์เล็กและมีตัวเลข 1 ตัวด้วย


ตอบกลับจาก วิกตอเรีย กิซาตูลินา[คุรุ]
ผู้เชี่ยวชาญด้านความปลอดภัยของคอมพิวเตอร์ยอมรับว่ารหัสผ่านแบบ brute-force ควรประกอบด้วยอักขระผสมตัวพิมพ์อย่างน้อยแปดตัว (อักษรตัวพิมพ์เล็กและตัวพิมพ์ใหญ่) รวมถึงตัวเลขและ/หรืออักขระพิเศษ เฉพาะรหัสผ่านดังกล่าวเท่านั้นที่สามารถถือว่าเชื่อถือได้เพียงบางส่วน
ทำไมบางส่วน? ตามสถิติ ในกรณีส่วนใหญ่ที่มีการโจมตีเครือข่าย คอมพิวเตอร์ของเหยื่อถูกโจมตีโดยเฉลี่ยมากกว่า 2,000 ครั้งต่อวัน ซึ่งเพียงพอสำหรับช่วงเวลาหนึ่ง ขึ้นอยู่กับความสามารถที่มีอยู่ของผู้โจมตี แม้กระทั่ง เลือกรหัสผ่านที่ซับซ้อนจำนวน 8 ตัวอักษร ดังนั้นจึงแนะนำให้เปลี่ยนรหัสผ่านอย่างน้อยเดือนละครั้ง
ไม่มีอะไรจะเพิ่มเติม - เพิ่มตัวอักษร
สุดท้ายนี้ การใช้รหัสผ่านที่แตกต่างกันสำหรับเว็บไซต์และบริการต่างๆ ถือเป็นสิ่งสำคัญอย่างยิ่ง ลดความซับซ้อนของกระบวนการใช้งานลงอย่างมาก ปริมาณมากการสร้างระบบการท่องจำของคุณเองจะช่วยให้คุณสร้างชุดค่าผสมต่างๆ ดังนั้น เพื่อเป็นตัวอย่างของเทคนิคช่วยในการจำที่สะดวก Stanislav Shevchenko หัวหน้าแผนกการศึกษาของ Kaspersky Lab แนะนำให้เพิ่มอักขระตัวอักษร (ตัวเลข) ลงในคำลับ ซึ่งจะช่วยเชื่อมโยงรหัสผ่านกับไซต์เฉพาะ ตัวอย่างเช่น หากเรากำลังพูดถึงเว็บไซต์ “Odnoklassniki. ru" รหัสผ่านอาจขึ้นต้นหรือลงท้ายด้วยตัวอักษร "o" ก็ได้ เผื่อเราสนใจ เครือข่ายทางสังคม“VKontakte” เราสามารถเพิ่มตัวอักษร “v” ลงในคำรหัสของเราได้