2016-04-16 12 views
1

dieser Regex macht mich verrückt. Ich dachte, es würde funktionieren. aber es nicht alles

regex in link here Übereinstimmung ist:

^[a-zA-Z](?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[$\-_. +!*'()])[a-zA-Z0-9$\-_. +!*'()]*$ 

Anforderung ist:

beginnt mit a-zA-Z muß: ein Klein, ein Groß, ein aus gegebener SPCL Zeichen nur (alles andere ist ungültig) und schließlich zwischen 10 und 40 Zeichen lang.

+0

Vielleicht kann dies helfen: http://stackoverflow.com/questions/19605150/regex-for-password-must-be-contain-at-least-8-characters-least-1-number-and-bot – mplungjan

+1

da war '\ n' in Ihrem Regex nachher ... entfernt es und es funktioniert: -https: //regex101.com/r/vU8eV7/10 – rock321987

+0

hi, wie benutzt man dieselben constricts/regex in Perl um es zu verifizieren? Ich habe die gleiche Regex-Zeichenfolge verwendet, aber es schlägt fehl. – rajeev

Antwort

1

out Sie diese Regex mit MULTILINEm Flag verwenden:

/^[a-zA-Z](?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[-$_. +!*'()])[\w$. +!*'()-]{9,39}$/mg 

Updated Demo

{9,39} statt {10,40} verwenden, weil Sie bereits ein Zeichen abgestimmt haben [a-zA-Z] beim Start.

+1

thx, ich dint realisiere von mehreren Zeichen am Ende. und auch ich vermisste die 9,39 thx! – rajeev

0

Dies könnte Ihnen helfen ^.(?=.{10,40})(?=.\d)(?=.[a-zA-Z]).$

Verwandte Themen