Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
^(?
`` `
Vysvetlenie:
* `^`:Zhoduje sa so začiatkom reťazca.
* `(? =.* [a-za-z])`:Pozitívne tvrdenie Lookahead, ktoré vyžaduje aspoň jedno písmeno (A-Z alebo A-Z).
* `(? =.* \ d)`:Pozitívne tvrdenie, ktoré vyžaduje aspoň jednu číslicu (0-9).
*`(? =.*[!@$%^&*(),.?":{} | <> \ -_+=\\ «~; '])`:Kladné tvrdenie Lookahead, ktoré vyžaduje aspoň jeden špeciálny znak. Toto je kritická časť, a mali by ste upraviť znaky v rámci Square Brackets "[...]", aby si porovnali presnú sadu špeciálnych znakov, ktoré chcete, aby umožnili, aby umožňovali akcie. " Uniknite špeciálnym znakom v triede znakov (napr.
* `. {8,}`:Zhoduje sa s ľubovoľným znakom (okrem novej linky) najmenej 8 -krát. To zaisťuje minimálnu dĺžku.
* `$`:Zhoduje sa s koncom reťazca.
Ako ho používať v rôznych kontextoch:
* JavaScript:
`` `JavaScript
Const PasswordRegex =/^(?=.*[a-za-z+ :)=.*\d)(?=.*..@#$%^&*(),??
const heslo ="myp@sSword123";
const isvalid =hesloRegex.Test (heslo);
Console.log (isvalid); // výstup:true
const invalidPassword ="Short1!";
const isinValid =hesloRegex.Test (invalidPassword);
Console.log (IsinValid); // výstup:false
`` `
* python:
`` `Python
importovať
heslo_regex =r "^(? =.*[a-si-z]) (? =.*\ d) (? =.*[!@#$%^&*(),.? \":{} | <> \ -_+=\\ `~; ']). {8,} $"
heslo ="myp@sSword123"
is_Valid =re.match (heslo_regex, heslo)
tlač (bool (is_valid)) # výstup:true
invalid_password ="Short1!"
is_invalid =re.match (heslo_regex, invalid_password)
tlač (bool (is_invalid)) # výstup:false
`` `
* java:
`` `Java
import java.util.regex.matcher;
import java.util.regex.pattern;
public class PasswordValidator {
public static void main (String [] args) {
String PasswordRegex ="^(? =.*[A-za-z]) (? =.*\\ d) (? =.*[!@$%^&*(),.? \":{} | <> -_+=\\ \ ~; ']). {8,} $ ";
String heslo ="myp@sSword123";
Vzor vzor =vzorc.compile (PasswordRegex);
Matcher Matcher =Pattern.matcher (heslo);
System.out.println (matcher.matches ()); // výstup:true
String invalidPassword ="Short1!";
matcher =vzorc.matcher (invalidPassword);
System.out.println (matcher.matches ()); // výstup:false
}
}
`` `
Dôležité úvahy a prispôsobenie:
* Špeciálne znaky: Najdôležitejšou časťou je definovanie povolených špeciálnych znakov. `[!@#$%^&*(),.?":{} | <> \ -_+=\\ `~; ']` Časť regexu definuje, ktoré znaky sa považujú za „špeciálne“. Opatrne to preskúmajte a upravte tak, aby zodpovedali vašim špecifickým požiadavkám. Nezabudnite uniknúť špeciálnym regexovým znakom.
* Sady znakov:
* `[a-za-z]`:Zhoduje sa s akýmikoľvek veľkými alebo malými písmenami. Možno budete chcieť obmedziť to iba na malé písmená alebo iba v prípade potreby veľké písmená.
* `\ d`:Zhoduje sa s akoukoľvek číslicou (0-9).
* Minimálna dĺžka: Časť `{8,}` určuje minimálnu dĺžku 8 znakov. Zmeňte `8`, aby ste upravili minimálnu dĺžku. Ak chcete aj maximálnu dĺžku, môžete ju určiť takto:`{8,16}` pre minimálne 8 a maximálne 16 znakov.
* Požiadavky na zložitosť: Ďalšie požiadavky na zložitosť môžete pridať pridaním ďalších tvrdení Lookahead. Napríklad by ste mohli vyžadovať najmenej dve číslice s `(? =.*\ D.*? \ D)`.
* Zabezpečenie osvedčených postupov: Aj keď tento regex presadzuje základnú úroveň zložitosti, je nevyhnutné pochopiť, že samotný Regex nie je úplným bezpečnostným riešením. Zvážte tieto osvedčené postupy:
* soľ a hash: Nikdy neukladajte heslá do obyčajného textu. Pre každé heslo používajte vždy silný algoritmus hashovania (napríklad Argon2, Bcrypt alebo Scrypt) s jedinečnou soľou.
* Meračy sily hesla: Použite merač sily hesla na poskytnutie spätnej väzby v reálnom čase používateľom pri písaní svojho hesla.
* Pravidelné bezpečnostné audity: Pravidelne kontrolujte svoje zásady hesla a bezpečnostné postupy.
* Obmedzenie rýchlosti: Implementujte obmedzenie sadzieb pri pokusoch o prihlásenie na zabránenie útokov na brutálnu silu.
Príklad:Povolenie iba nasledujúcich špeciálnych znakov:`!@#$%^&*`
Regex by sa stal:
`` regex
^(? =.*[a-za-z]) (? =.*\ d) (? =.*[!@#$%^&*]). {8,} $
`` `
Príklad:Vyžadovanie najmenej dve číslice:
`` regex
^)
`` `
Táto verzia pridáva `(? =.*\ D.*? \ D)`, ktorá vyžaduje najmenej dve číslice, s akýmikoľvek znakmi, ktoré sú povolené `.*?"
Vyberte regex, ktorý sa najlepšie hodí * Vaša * konkrétna politika hesla, a nezabudnite uprednostňovať osvedčené postupy zabezpečenia. Regex vždy dôkladne otestujte s rôznymi platnými a neplatnými heslami.