Java Mobile Number Validation

Use the following code to do mobile number validation in Java.

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public enum MsisdnRegex
{
        PATTERN_1("[+]?[0-9]{10}"), PATTERN_2("^\\(?(\\d{3})\\)?[- ]?(\\d{3})[- ]?(\\d{4})$"), PATTERN_3("[0-9]{10}")
        ,PATTERN_4("[+]?[0-9]{2}[-][0-9]{10}"),PATTERN_5("[+]?[0-9]{12}");

        String  pattern = "";

        MsisdnRegex(String pattern)
        {
                this.pattern = pattern;
        }

        /**
         * @return the pattern
         */

        public String getPattern()
        {
                return pattern;
        }

        public static boolean isValidMsisdn(String msisdn)
        {
                for (MsisdnRegex regex : values())
                {
                    Pattern pattern = Pattern.compile(regex.getPattern());
                    Matcher matcher = pattern.matcher(msisdn);
                    if(matcher.matches())
                           return true;
                }
                return false;
        }
       
        public static void main(String[] args)
        {
                String[] msisdnArray = new String[]{"1234567890", "911234567890", "123-456-7890", "+911234567890", "+91-1234567890", "+91-123-4567890"};
               
                for(String msisdn:msisdnArray)
                System.out.println("Msisdn  "+ msisdn +" is "+(MsisdnRegex.isValidMsisdn(msisdn)? "Valid": "InValid"));
        }
}

Search