complete = (Button) findViewById(R.id.complete);
complete.setOnClickListener(new View.OnClickListener() {
String validNumber = "";
public void onClick(View v){
validNumber = phoneNumber.getText().toString();
if (!validNumber.equals("")){
final String phoneNumPattern = "^(?=.*[0-9]){10,11}$";
Pattern pattern = Pattern.compile(phoneNumPattern);
Matcher matcher = pattern.matcher(validNumber);
if (matcher.matches() == true){
Toast.makeText(PhoneNumActivity.this, "Success", Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(PhoneNumActivity.this, "Failed", Toast.LENGTH_SHORT).show();
}
}
else{
Toast.makeText(PhoneNumActivity.this, "Failed", Toast.LENGTH_SHORT).show();
}
}
});
Я разрабатываю приложения безопасности, которым необходимо ввести действительный номер мобильного телефона, я устанавливаю шаблон выше, где пользователь может ввести номер с минимальной 10-значной цифрой и не более 11 цифр. Но выйти ошибкаКак подтвердить введенный номер мобильного телефона?
java.util.regex.PatternSyntaxException: Ошибка синтаксиса в регулярных выражениях шаблона рядом с индексом 13:
И еще один вопрос, могу ли я установить шаблон таким образом, что первые два цифры мобильного номера: 01xxxxxxxxxx
?
Помимо вашего вопроса регулярных выражений, то, возможно, стоит проверить, что ваша картина будет работать для любого формата телефона число в разных странах. – assylias