Autor Zpráva
midlan
Profil
Ahoj, potřebuju regulérní výraz pro heslo. První a poslední znak nesmí být žádný z "bílích znaků" (mezera, tabulátor, enter, ...), uprostřed můžou být i bílé znaky. Řetězec bude moc obsahovat všechny znaky kromě zpětného lomítka, jednoduché a dvojitté uvozovky. Poslední požadavek je aby délka řetězce byla v intervalu <6;24>.

Sám jsem spíchnul tento, který až na délku splňuje mé požadavky :D:
/^[^\s\\"'][^\\"']+[^\s\\"']/
Darker
Profil
Nestačilo by tohle?
var delkaOk=heslo.length>=6&&heslo.length<=24;

Teší mě že děláš formulářovou kontrolu i javascriptem. :)
midlan
Profil
Darker:
jo stačilo (teď to tak je), ale chci to mít v regulérním výrazu protože v celém projektu bude podle jednoho výrazu ověřováno vícekrát. Pamatovat si při psaní ověřovacích skriptů kolik má každý řetězec mít length je pro mě nanic :(
midlan
Profil
Darker:
Teší mě že děláš formulářovou kontrolu i javascriptem. :)
podle mě je to lepší, zmenší se trafic :)
king26
Profil
Omezení délky do jednoho reguláru dát asi nepůjde. Napiš si funkci, která bude vracet true/false a můžeš to použít v celém projektu. Ve funkci pak může být více kroků ověření.
Chamurappi
Profil
Reaguji na midlana:
Místo plusu dej {4,22} a na konec dolar.
Medvídek
Profil
midlan:
Poslední požadavek je aby délka řetězce byla v intervalu <6;24>

Já tohleto nechápu, proč někoho nutit na minmální, nebo maximální délku hesla. Nejvíc mě nasralo O2 a jejich aplikace mojeo2, kde chtěli ještě nějaký písmeno velký a speciální znak.
Darker
Profil
Medvídek:
Souhlasím, ale zatím jsem nikoho nepřesvědčil, takže už se ani nesnažím. Moje kontrola na heslo zní: "Alespoň jeden znak".
Witiko
Profil
Darker:
Svým způsobem to může dávat smysl - pokud je uživatelům zamezeno dávat si slabá hesla, dojde k menšímu počtu průlomů -> méně práce pro případnou helpline.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0