Android判断输入的是电话号码,判断字符串长度,以及只允许数字输入

在android开发的时候  是否遇到过这样的问题 


你需用户输入电话号码  让其接收信息


然后  发送验证码或者是其他……


好了  需求大致归为这些


有个Editext需要让用户输入电话号码你这时候需要判断这一串的数字是不是电话号码免得用户输错  或者是  位数不够


将这个错误信息用toast 反馈给用户


好了 闲话不多说  直接上代码


//这个方法是判断是否是电话号的
public static boolean isMobile(String str) {
    Pattern p = null;
    Matcher m = null;
    boolean b = false;
    p = Pattern.compile("^[1][3,5,8][0-9]{9}$"); // 验证手机号
    m = p.matcher(str);
    b = m.matches();
    return b;
}


还有刚才说的   位数不够的判断方法


这里先介绍一下在xml文件里怎么写

<EditText
    android:maxLength="11"
    android:numeric="integer"	
    android:id="@+id/phone_Number"
    android:layout_width="match_parent"
    android:layout_height="80px"
    android:background="@color/colorWhite"
    />


android:numeric="integer"//只允许输入数字

maxLength= "11" //是指定这里最多只能输入11位字符,以字符计算


逻辑代码判断


phoneNumber = (EditText) findViewById(R.id.phone_Number);
 
  
phone = phoneNumber.getText().toString();
 
  
if (phoneNumber.length() != 11) {
    Toast.makeText(this, "手机号位数不够", Toast.LENGTH_SHORT).show();
}
搭配上面的那个方法之后  咱再加一层判断

else if (isMobile(phone) == false) {//判断是不是电话号
    Toast.makeText(this, "请输入正确的手机号", Toast.LENGTH_SHORT).show();
} 
isMobile是上面一开始给的那个方法



好了  就是这么简单  一个电话号码的判断已经完事了


读到这里如果还有什么不懂的  请留言










你可能感兴趣的:(Android)