2010-08-24 6 views
0

J'essaie de vérifier si un nom a des caractères invalides, jusqu'à présent, j'ai réussi à obtenir tout ce dont j'ai besoin en dehors de la vérification de la capitalisation, j'ai essayéMySQL et Regex (vérification de la capitalisation des noms)

SELECT BINARY('jiLl') REGEXP('[[:upper:]]+'); 

mais malheureusement aussi des noms correctement formatés, comme dans (Jack), est-il possible que l'expression régulière ignore le premier caractère du nom, et si oui comment?

Nous vous remercions à l'avance, --Un

Répondre

1

Prenez un pas en arrière et repensons;)

Donne-moi toutes les instances qui ne commencent pas par une lettre majuscule et le reste sont minuscules:

mysql> SELECT BINARY('JacK') NOT REGEXP('^[[:upper:]][[:lower:]]+$') AS is_invalid; 
+------------+ 
| is_invalid | 
+------------+ 
|   1 | 
+------------+ 
1 row in set (0.00 sec) 

mysql> SELECT BINARY('jiLl') NOT REGEXP('^[[:upper:]][[:lower:]]+$') AS is_invalid; 
+------------+ 
| is_invalid | 
+------------+ 
|   1 | 
+------------+ 
1 row in set (0.00 sec) 

mysql> SELECT BINARY('Jack') NOT REGEXP('^[[:upper:]][[:lower:]]+$') AS is_invalid; 
+------------+ 
| is_invalid | 
+------------+ 
|   0 | 
+------------+ 
1 row in set (0.00 sec) 
+0

Oh c'est génial! J'ai complètement rejeté l'opportunité de le faire dans le sens inverse. Super trucs nicomen. Merci beaucoup! --a – schizix

+1

excuses, je n'arrive pas à évaluer la réponse pour l'instant car j'ai besoin de 15 réputation pour le faire, mais c'est le plus def un +1, j'apprécie le pourboire, encore merci beaucoup – schizix

+0

Mon plaisir, je devais recule moi-même;) – nicomen

Questions connexes