android - 在电话号码前输入数字 9
问题描述
如果只有 8 个数字,我需要在电话前面加上数字 9,如果它有 9 个数字,我不需要添加 9
我让我编码,但是,它不工作!
我的用户总共需要 9 个号码- 比如:XXXXX-XXXX
如果号码在电话簿中 总共有8个号码- 像这样:XXXX-XXXX我需要把数字“9”放在所有号码的前面,像这样: 9 XXXX-XXXX
我是初学者,谁能帮帮我?谢谢!
这是我的代码的一部分
if (phoneNumber != null && !phoneNumber.equals(FireManager.getPhoneNumber())) {
//check if contact has installed this app
// Is Brazilian number?
if (isBrazilPhone(phoneNumber)) {
String numberWith9OrNo = phoneNumber;
if (phoneHasDigitNine(phoneNumber)) {
numberWith9OrNo = new StringBuilder(phoneNumber).replace(5, 6, "").toString();
//Log.e("MIGUEL_TAG", "NUMBER WITH A 9 ->" + phoneNumber);
} else {
// add the 9 digite to find it too
numberWith9OrNo = new StringBuilder(phoneNumber).insert(5, "9").toString();
//Log.e("MIGUEL_TAG", "NUBER WITHOUT A 9 ->" + numberWith9OrNo);
}
// Query By numeber with and Withou 9
isAFireNumber(context, numberWith9OrNo, id, lastItemId, onContactSyncFinished);
}
// run with the opposite number from phonenumber.
isAFireNumber(context, phoneNumber, id, lastItemId, onContactSyncFinished);
}
}
更多的:
public static boolean isBrazilPhone(String formatedPhone) {
// For BR's Phone
if (formatedPhone == null || formatedPhone.isEmpty() || formatedPhone.length() <= 7 || !formatedPhone.startsWith("+55")) {
return false;
}
return true;
}
public static boolean phoneHasDigitNine(String formatedPhone) {
if (formatedPhone != null && !formatedPhone.isEmpty() && formatedPhone.length() > 6) {
//Log.e("MIGUEL_LOG", "NUMERO -> " + formatedPhone);
// +55089999028370
if (formatedPhone.substring(3).equalsIgnoreCase("0")) {
return formatedPhone.substring(6, 7).equalsIgnoreCase("9") && formatedPhone.length() >= 15;
}
return formatedPhone.substring(5, 6).equalsIgnoreCase("9") && formatedPhone.length() >= 14;
}
return false;
}
解决方案
只需删除所有非数字并计算长度。如果你有 8 然后添加额外的数字
String testNumber = "93-21-21-22"
String filteredNumber = testNumber.replaceAll("[^0-9]","");
System.out.print(filteredNumber);
if(filteredNumber.length() ==8){
testNumber = "9" + testNumber; //add the extra digit if its length is 8.
}
推荐阅读
- api - 如何使用admitad api进行客户端授权?
- amazon-web-services - 如何为 AWS ApiGateway 与 S3、SQS、SNS、DynamoDB 和其他服务的集成构建 AWS CloudFormation 集成 URI?
- linear-algebra - 面向行和面向列在矩阵中是什么意思
- css - 该输入字段的CSS设计问题
- android - 如何在颤动的 FCM 通知中创建接受和拒绝按钮
- php - php上Imagemagick中的标题编码问题
- wordpress - Wordpress redirect based on user role and specific page ID
- javascript - 从数组中检索条件数量的对象
- python - python tkinter 在调用函数以在程序界面上显示输入时出现问题?
- javascript - 如何将变量从网页 javascript 传递到节点 JS