android 用户注册或登录时判断输入的是否是正确格式的电话号码


ava.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。 
它包括两个类:Pattern和Matcher 

Pattern: 一个Pattern是一个正则表达式经编译后的表现模式。 
Matcher :一个Matcher对象是一个状态机器,它依据Pattern对象做为匹配模式对字符串展开匹配检查。 

首先用Pattern创建一个正则表达式:

(Pattern类用于创建一个正则表达式,也可以说创建一个匹配模式,它的构造方法是私有的,不可以直接创建,但可以通过Pattern.complie(String regex)简单工厂方法创建一个正则表达式)

Pattern p = Pattern.compile("^((14[0-9])|(13[0-9])|(15[0-9])|(18[0-9])|(17[0-9]))\\d{8}$");

这里代表电话号码必须以14、13、15、18、17开头的11位数,可以根据自己的需求进行修改


然后用Matcher的boolean matches() 方法对整个目标字符展开匹配检测,只有整个目标字符串完全匹配时才返回真值。 

Matcher m = p.matcher(inputText);


最后返回一个boolean用来判断是否为true

return m.matches();


最后贴出完整代码:

public class Utils {
	
	/**
	 * 判断电话号码是否符合格式.
	 *
	 * @param inputText the input text
	 * @return true, if is phone
	 */
	public static boolean isPhone(String inputText) {
		Pattern p = Pattern.compile("^((14[0-9])|(13[0-9])|(15[0-9])|(18[0-9])|(17[0-9]))\\d{8}$");
		Matcher m = p.matcher(inputText);
		return m.matches();
	}
String userphone = phone.getText().toString().trim();
		
		if (TextUtils.isEmpty(userphone)) {
			Toast.makeText(LoginActivity.this, "请输入手机号", Toast.LENGTH_SHORT).show();
			return;
		}
		
		boolean result = Utils.isPhone(userphone);
		if (result == false) {
			Toast.makeText(LoginActivity.this, "请输入正确的手机号", Toast.LENGTH_SHORT).show();
			return;
		}

 



  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的示例代码,实现用户注册成功并登录的页面: ``` public class MainActivity extends AppCompatActivity { private EditText mUsernameEditText; private EditText mPasswordEditText; private Button mLoginButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 绑定视图控件 mUsernameEditText = findViewById(R.id.username_edit_text); mPasswordEditText = findViewById(R.id.password_edit_text); mLoginButton = findViewById(R.id.login_button); // 设置登录按钮的点击事件 mLoginButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 获取输入的用户名和密码 String username = mUsernameEditText.getText().toString(); String password = mPasswordEditText.getText().toString(); // 判断用户名和密码是否为空 if (TextUtils.isEmpty(username) || TextUtils.isEmpty(password)) { Toast.makeText(MainActivity.this, "用户名和密码不能为空", Toast.LENGTH_SHORT).show(); return; } // TODO: 在此处进行用户登录操作,验证用户名和密码是否正确 // 登录成功,跳转到主界面 Intent intent = new Intent(MainActivity.this, HomeActivity.class); startActivity(intent); finish(); } }); } } ``` 上述代码中,我们使用了 `EditText` 控件获取用户输入的用户名和密码,用 `Button` 控件实现登录按钮的点击事件。当用户点击登录按钮后,我们首先判断用户名和密码是否为空,如果为空则弹出提示信息,否则进行用户登录操作。在这里,我们只是简单地跳转到了主界面,实际开发中需要根据业务需求进行相应的操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值