Author: bleny Date: 2011-02-07 18:43:53 +0100 (Mon, 07 Feb 2011) New Revision: 2077 Url: http://nuiton.org/repositories/revision/nuiton-utils/2077 Log: evol #1294: add a method to test if a given string is an email Modified: trunk/nuiton-utils/src/main/java/org/nuiton/util/StringUtil.java trunk/nuiton-utils/src/test/java/org/nuiton/util/StringUtilTest.java Modified: trunk/nuiton-utils/src/main/java/org/nuiton/util/StringUtil.java =================================================================== --- trunk/nuiton-utils/src/main/java/org/nuiton/util/StringUtil.java 2011-02-04 13:26:22 UTC (rev 2076) +++ trunk/nuiton-utils/src/main/java/org/nuiton/util/StringUtil.java 2011-02-07 17:43:53 UTC (rev 2077) @@ -36,6 +36,8 @@ * par : */ package org.nuiton.util; +import sun.misc.Regexp; + import java.awt.Color; import java.lang.reflect.Field; import java.security.MessageDigest; @@ -79,6 +81,10 @@ return temp.replaceAll("[^\\p{ASCII}]",""); } + public static boolean isEmail(String email) { + return email.matches("^[a-z0-9!#$%&'*+/=?^_`{|}~-]+((\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)?)+@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9\\-]*[a-z0-9])?$"); + } + /** * Contract to use in {@link StringUtil#join(Iterable , ToString, String, boolean) } * method. This will provide a toString method to convert an object in a Modified: trunk/nuiton-utils/src/test/java/org/nuiton/util/StringUtilTest.java =================================================================== --- trunk/nuiton-utils/src/test/java/org/nuiton/util/StringUtilTest.java 2011-02-04 13:26:22 UTC (rev 2076) +++ trunk/nuiton-utils/src/test/java/org/nuiton/util/StringUtilTest.java 2011-02-07 17:43:53 UTC (rev 2077) @@ -215,5 +215,11 @@ assertEquals("53776c1a117089016498c1162db30265baaac558", StringUtil.encodeSHA1("Cela ressemblait aux gros ordinateurs que david avait pu voir dans des films de science fiction.")); } + + @Test + public void testIsEmail() { + assertFalse(StringUtil.isEmail("abc.def+ghimonte.st")); + assertTrue(StringUtil.isEmail("abc.def+ghi@monte.st")); + } } // StringUtilTest