号码验证

时间:2016-08-13 10:11:28

标签: android android-studio

我想验证已经接受数字的编辑文本。 但我希望只将特定数字作为起始值。 例如:只有7,8和9这样的数字应该被接受作为第一个数字,然后其余9个数字可以是0-9中的任何数字

4 个答案:

答案 0 :(得分:1)

   /** Number Format Validation method  */
    public boolean isValidPhoneNumber(String mobile) {
        String regEx = "^[7-9][0-9]{9}$";
        return mobile.matches(regEx);
    }

答案 1 :(得分:0)

您可以使用此功能检查起始字符是否符合您所需的值。

public boolean checkChar(){
char x = edittext.getText().toString().charAt(0);

if(x == '7' || x == '8' || x == '9')
 return true;

return false;
}

答案 2 :(得分:0)

您可以使用此功能。

public boolean validate(){
String val = edittext.getText().toString();
if(val.length()!=10)
{
  Log.d("TAG","validation failed");
return false;    }
char x = val.charAt(0);

if(x == '7' || x == '8' || x == '9')
 return true;

return false;
}

答案 3 :(得分:0)

您可以使用TextChangedListener

代码:

editText.addTextChangedListener(new TextWatcher() {
    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        if (editText.getText().length() == 1) {
            String x = editText.getText().toString();
            // if the first character isn't equal to 7, 8 or 9 clear the editText
            if (!(x == "7" || x == "8" || x == "9")) {
               editText.setText(""); 
            }
        }
    }  
});

我没有测试代码,所以如果我忘记了支架或某些东西让我知道。