Как проверить строку в Java? - PullRequest
       0

Как проверить строку в Java?

6 голосов
/ 17 сентября 2010

Как проверить строку в Java? То есть разрешены только символы, а не цифры? Как насчет проверки электронной почты?

Ответы [ 4 ]

10 голосов
/ 17 сентября 2010

как строка может быть проверена в Java?

Обычный способ сделать это - использовать регулярное выражение или регулярное выражение. В Java вы можете использовать метод String.matches(String regex). С помощью регулярных выражений мы говорим, что вы сопоставляете строку с шаблоном Если совпадение успешно, .matches() возвращает true.


разрешены только символы, а не цифры?

// You can use this pattern:
String regex = "^[a-zA-Z]+$";
if (str.matches(regex)) { 
    // ...
}

подтверждение по электронной почте?

Адреса электронной почты имеют очень сложную спецификацию , которая требует чудовищного регулярного выражения для точности. Этот приличный и короткий, но не совсем правильный:

String regex = "\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b";
if (str.matches(regex)) { 
    // ...
}

Если вы действительно хотите посмотреть на это: Как проверить электронную почту и Сравнение регулярных выражений проверки электронной почты (PHP).


Вот отличный ресурс для начала работы с регулярными выражениями:
http://www.regular -expressions.info

5 голосов
/ 17 сентября 2010

для строки только с символами попробуйте

private boolean verifyLastName(String lname)
{
    lname = lname.trim();

    if(lname == null || lname.equals(""))
        return false;

    if(!lname.matches("[a-zA-Z]*"))
        return false;

    return true;
}

для проверки электронной почты попробуйте

private boolean verifyEmail(String email)
{
    email = email.trim();

    if(email == null || email.equals(""))
        return false;

    if(!email.matches("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6}$"))
        return false;

    return true;
}
4 голосов
/ 17 сентября 2010

Для таких простых случаев используйте RegExp, как уже предлагалось в NullUserException. Если вам нужно более надежное решение, вы можете использовать некоторую среду валидации, т.е. Apache Commons Validator .

1 голос
/ 17 сентября 2010

Если у вас есть Apache commons-lang в качестве зависимости проекта (и это вполне обычно), вы можете использовать StringUtils.isAlpha().Если у вас есть более конкретная проверка или вы не хотите зависеть от commons-lang, вы можете сделать это с помощью регулярных выражений и String.matches().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...