[Java lista] Pattern.compile bug (jdk 1.5)
bognár attila
attila at netalfa.hu
2008. Már. 4., K, 13:48:53 CET
ez biztos jó?
mert pl a # karakter tudtommal benne lehet az email címben, a @ előtt
biztosan (legalábbis nekem kell kezelnem egy ilyet)
(ha valamelyik hexa escape ezt eredményezi, akkor bocs)
Tamás Magyar írta:
>> Akkor meg sosem validaltal emailcimet a szabvany szerint.:)
>>
>
> Hat igen, ez sem kicsi pattern, ha osszeadogatod talan meg tobb is,
> mint 600 karakter, megis gyorsan fut:
>
> //$Id: EmailValidator.java 11282 2007-03-14 22:05:59Z epbernard $
> //package org.hibernate.validator;
> private static String ATOM =
> "[^\\x00-\\x1F^\\(^\\)^\\<^\\>^\\@^\\,^\\(;^\\:^\\\\^\\\"^\\.^\\[^\\]^\\s]";
> private static String DOMAIN = "(" + ATOM + "+(\\." + ATOM + "+)*";
> private static String IP_DOMAIN =
> "\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\]";
>
> private java.util.regex.Pattern pattern;
>
> public boolean isValidEmail(String email) {
> if ( email == null ) return false;
> if ( email.length() == 0 ) return false;
> Matcher m = pattern.matcher( email );
> return m.matches();
> }
>
> private void initializeEmailPatterns() {
> pattern = java.util.regex.Pattern.compile(
> "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*$",
> java.util.regex.Pattern.CASE_INSENSITIVE
> );
> pattern = java.util.regex.Pattern.compile(
> "^" + ATOM + "+(\\." + ATOM + "+)*@"
> + DOMAIN
> + "|"
> + IP_DOMAIN
> + ")$",
> java.util.regex.Pattern.CASE_INSENSITIVE
> );
> }
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: http://javagrund.hu/pipermail/javalist/attachments/20080304/d7283cdb/attachment-0001.html
További információk a(z) Javalist levelezőlistáról