Android国家/地区代码

时间:2016-01-17 16:30:29

标签: android

我如何在我的android代码中使用国家代码字符串使用edittext startswith number 这里我的代码使用了。

字符串

private static final String[] mCodes = {

        "+93", "+355", "+213", "+376", "+244", "+672", "+54", "+374",
        "+297", "+61", "+43", "+994", "+973", "+880", "+375", "+32",
        "+501", "+229", "+975", "+591", "+387", "+267", "+55", "+673",
        "+359", "+226", "+95", "+257", "+855", "+237", "+1", "+238",
        "+236", "+235", "+56", "+86", "+61", "+61", "+57", "+269",
        "+242", "+243", "+682", "+506", "+385", "+53", "+357", "+420",
        "+45", "+253", "+670", "+593", "+20", "+503", "+240", "+291",
        "+372", "+251", "+500", "+298", "+679", "+358", "+33", "+689",
        "+241", "+220", "+995", "+49", "+233", "+350", "+30", "+299",
        "+502", "+224", "+245", "+592", "+509", "+504", "+852", "+36",
        "+91", "+62", "+98", "+964", "+353", "+44", "+972", "+39",
        "+225", "+81", "+962", "+254", "+686", "+965", "+996", "+856",
        "+371", "+961", "+266", "+231", "+218", "+423", "+370", "+352",
        "+853", "+389", "+261", "+265", "+60", "+960", "+223", "+356",
        "+692", "+222", "+230", "+262", "+52", "+691", "+373", "+377",
        "+976", "+382", "+212", "+258", "+264", "+674", "+977", "+31",
        "+599", "+687", "+64", "+505", "+227", "+234", "+683", "+850",
        "+47", "+968", "+92", "+680", "+507", "+675", "+595", "+51",
        "+63", "+870", "+48", "+351", "+974", "+40", "+7", "+250",
        "+590", "+685", "+378", "+239", "+966", "+221", "+381", "+248",
        "+232", "+65", "+421", "+386", "+677",  "+252", "+27", "+82",
        "+34", "+94", "+290", "+508", "+249", "+597", "+268", "+46",
        "+41", "+963", "+886", "+992", "+255", "+66", "+228", "+690",
        "+676", "+216", "+90", "+993", "+688", "+971", "+256", "+380",
        "+598", "+998", "+678", "+58", "+84", "+681", "+967", "+260",
        "+263"
};

EDITTEXT

etAddNumber = (EditText) findViewById(R.id.etAddNumber);
String addnumber = etAddNumber.getText().toString();

如果用户输入的号码没有国家代码显示Toast

,也可以使用edittext代码
 if (!addnumber.startsWith(mCodes.toString())) {
     Toast.makeText(getApplicationContext(), "You did not enter country code", Toast.LENGTH_SHORT).show();
 }

谢谢你提前

1 个答案:

答案 0 :(得分:1)

使用数组列表存储您的国家/地区代码,因为您可以轻松找到其中是否包含国家/地区代码:

final ArrayList<String> mCodes = new ArrayList<String>();
    Collections.addAll(mCodes,
            "+93", "+355", "+213", "+376", "+244", "+672", "+54", "+374",
            "+297", "+61", "+43", "+994", "+973", "+880", "+375", "+32",
            "+501", "+229", "+975", "+591", "+387", "+267", "+55", "+673",
            "+359", "+226", "+95", "+257", "+855", "+237", "+1", "+238",
            "+236", "+235", "+56", "+86", "+61", "+61", "+57", "+269",
            "+242", "+243", "+682", "+506", "+385", "+53", "+357", "+420",
            "+45", "+253", "+670", "+593", "+20", "+503", "+240", "+291",
            "+372", "+251", "+500", "+298", "+679", "+358", "+33", "+689",
            "+241", "+220", "+995", "+49", "+233", "+350", "+30", "+299",
            "+502", "+224", "+245", "+592", "+509", "+504", "+852", "+36",
            "+91", "+62", "+98", "+964", "+353", "+44", "+972", "+39",
            "+225", "+81", "+962", "+254", "+686", "+965", "+996", "+856",
            "+371", "+961", "+266", "+231", "+218", "+423", "+370", "+352",
            "+853", "+389", "+261", "+265", "+60", "+960", "+223", "+356",
            "+692", "+222", "+230", "+262", "+52", "+691", "+373", "+377",
            "+976", "+382", "+212", "+258", "+264", "+674", "+977", "+31",
            "+599", "+687", "+64", "+505", "+227", "+234", "+683", "+850",
            "+47", "+968", "+92", "+680", "+507", "+675", "+595", "+51",
            "+63", "+870", "+48", "+351", "+974", "+40", "+7", "+250",
            "+590", "+685", "+378", "+239", "+966", "+221", "+381", "+248",
            "+232", "+65", "+421", "+386", "+677",  "+252", "+27", "+82",
            "+34", "+94", "+290", "+508", "+249", "+597", "+268", "+46",
            "+41", "+963", "+886", "+992", "+255", "+66", "+228", "+690",
            "+676", "+216", "+90", "+993", "+688", "+971", "+256", "+380",
            "+598", "+998", "+678", "+58", "+84", "+681", "+967", "+260",
            "+263"
    );

我已经查看了您的国家/地区代码列表,每个代码包含3个或4个值。首先比较包含前三个字符的子字符串,然后比较包含前四个字符的子字符串。如果代码匹配,则编辑文本中的值包含国家/地区代码,否则不包含:

   if (addnumber.length()>=3 && (mCodes.contains(addnumber.substring(0,3)))) {
                Toast.makeText(getApplicationContext(), "Country code found", Toast.LENGTH_SHORT).show();
            }
            else if (addnumber.length()>=4 && (mCodes.contains(addnumber.substring(0,4)))){
                Toast.makeText(getApplicationContext(), "Country code found", Toast.LENGTH_SHORT).show();

            }else{
                Toast.makeText(getApplicationContext(), "You did not enter country code", Toast.LENGTH_SHORT).show();
            }