Pergunta

Estou criando um sistema de registo que as necessidades para verificar o nome / passar etc. com REGEX (e preferem), o que eu tenho até agora é:

//Check so numbers aren't first, such as 00foobar
preg_match('/^(?!\d)[a-z0-9]+$/iD',$usrname);
//Just simple check
preg_match('/^[a-zA-Z0-9]+$/',$psword);

Mas eu tenho que fazer coisas estúpidas em declarações IF como:

if strlen($psword) > 30 || if (strlen($psword) < 4) ....

Como eu iria impliment o comprimento verificação nas minhas duas declarações de expressões regulares originais? Isso me faz tão feliz ..

Foi útil?

Solução

mesmo, mas usando o \ w e \ d por palavra e dígitos, mas você pode querer também incluir símbolos básicos como %!?/ ... etc...

preg_match('/^[\w\d]{4,30}$/',$psword);

o {n,v} iria validar para elementos máxima v mínimos ne antes.

como A{2,3} iria validar para AA e AAA. você pode dar uma olhada por mais referências

Na mesma forma, se você quiser apenas para definir o mínimo de {n,} patern iria fazê-lo. Por exemplo:

preg_match('/^[\w\d]{4,}$/',$psword);

Outras dicas

Eu acho que isso deve fazer o truque:

preg_match ( '/ ^ [a-zA-Z0-9] {4,30} $ /', $ psword);

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top