Мне нужно проверить JTextField, разрешив пользователю вводить только число cnic в соответствии с этим форматом 12345-1234567-1, я использую это регулярное выражение, но оно не работает. это моя функцияКак проверить jtextfield, чтобы принять только формат pakistan cnic?
private void idSearchKeyPressed(java.awt.event.KeyEvent evt) {
String cnicValidator = idSearch.getText();
if (cnicValidator.matches("^[0-9+]{5}-[0-9+]{7}-[0-9]{1}$")) {
idSearch.setEditable(true);
}
else {
idSearch.setEditable(false);
}
}
любезно предоставить мне guidence как проверить мою JTextField ... спасибо
«Не работает», что он делает вместо того, что вы ожидаете? Работает ли он на некоторые входы? –
Отбросьте '+' из '[0-9 +]', если вам действительно не нужно соответствовать '+'. Вы также можете использовать '\ d' (экранированный в' \\ d' в строковом литерале Java) для соответствия цифрам. –
Если пользователь ввел несоответствующий ввод, почему вы отключите 'idSearch', не позволяя им его изменить? –