VladMorzhanov
9/23/2017 - 3:01 PM

Android class to validate pwd and email.

Android class to validate pwd and email.

package com.dev.util;

/**
 * Class for text validation
 */
public class TextValidator {

    /**
     * Validates email address
     * @param email - email to validate
     * @return result of email validation
     */
    public static boolean validateEmail(String email) {
        return email.matches("(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!" +
                "#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\" +
                "x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\" +
                "x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+" +
                "[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]" +
                "|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|" +
                "[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\" +
                "x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])");
    }

    /**
     * Checks is text contains only latin characters
     *
     * @param text - text to check
     * @return is all characters latin
     */
    public static boolean validatePassword(String text) {
        return text.matches("(?=.*\\d)(?=.*[a-z])(?=.*).{6,}");
    }

}