Проверка символов в строке в Java

1

Я создаю валидатор для ввода в одном из моих текстовых полей в java. Длина поля ввода должна быть 10, а значения должны быть любого числа между 1-9. Уловка, вход должен использовать тот же символ только 10x... Таким образом, допустимые значения должны быть такими, как:

1111111111
2222222222
....
9999999999

Но если введенный текст - это что-то вроде 111111112, это следует считать недопустимым.

В настоящее время я использую String.matches("^ [0-9] + $"), чтобы проверить, допустимы ли введенные значения, но это все равно принимает 111111112 как действительный. Каков правильный подход, чтобы проверить, одинаково ли все 10 символов строки?

Теги:

1 ответ

4
Лучший ответ

Вы можете сделать это, используя обратную ссылку:

String.matches("^([0-9])\1{9}$")

или:

String.matches("^([0-9])\\1{9}$")

DEMO

Это соответствует только 10 цифрам в строке, которые все одинаковы.

  • 0
    Это было быстро, сшашанк! +1 :)
  • 0
    @ zx81, спасибо. :). Мы встречаемся снова
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню