利用Bmob快速实现安卓的登陆注册功能带正则手机号注册验证和基本密码的判断0.2版本

Bmobsdk3.6.9版本亲测可用
0.2版本新增:

新增注册判断:

1.判断正则是否是手机号进行注册

2.判断是否为空

3.密码判断以字母开头,长度在6~18之间,只能包含字母、数字和下划线

下载地址:https://download.csdn.net/download/qq_16519957/10998408
我在原先的基础之上对原来的功能进行一些新增如果没看过上一篇的话可以点击看一下。
利用Bmob快速实现安卓的简单登陆注册功能Bmobsdk3.6.9版本亲测可用(详细图文攻略附带处理小bug)
如果没有正则基础的话先看一下以下两篇文章和菜鸟教程学习一下:
最全的常用正则表达式大全
下面这篇尤其重要:
JAVA正则表达式:Pattern类与Matcher类详解
Java 正则表达式

在这里插入图片描述
手机号我百度随便搜的
这里仅显示成功登陆其他的东西由于时间关系就不一一演示。

首先我们需要完成我们新增的第一个功能就是判断正则是否是手机号进行注册
我们只需要判断是不是手机登陆即可也就是判断是不是手机号码
那么我们就需要增加下面的代码
手机号的开头也会随着时间不断地增加到时候自己修改即可

private boolean isPhoneNumber(String phoneStr)
{
	//定义电话格式的正则表达式
	String regex = "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$";
	//设定查看模式
	Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
	//判断Str是否匹配,返回匹配结果
	Matcher m = p.matcher(phoneStr);
	return m.matches();
}

第二个我们需要增加的就是判断密码
同样我们需要使用到正则去判断密码然后在输出就可以。

private boolean PasswordJudge(String pwStr)
{

	//密码判断以字母开头,长度在6~18之间,只能包含字母、数字和下划线
	String pattern = "^[a-zA-Z]\\w{5,17}$";

	Pattern r = Pattern.compile(pattern);
	Matcher m = r.matcher(pwStr);
	return m.find();
}

第三个判断是否输入框是否为空
这个主要功能就是为了判断输入框内有没有具体的内容
使用if判断即可

if(mobile.isEmpty() || password.isEmpty())
				{
					Toast.makeText(RegisterActivity.this,"用户名或密码不能为空",Toast.LENGTH_SHORT).show();
				}

然后我们来看一下完整的代码

package com.beta.bmobtest;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import cn.bmob.v3.Bmob;
import cn.bmob.v3.BmobUser;
import cn.bmob.v3.exception.BmobException;
import cn.bmob.v3.listener.SaveListener;

/**
 * Created by Kevein on 2019/3/1.8:03
 */

public class RegisterActivity extends Activity {
	private TextView register_user;
	private TextView register_password;
	private Button   register_ok;

	@Override
	protected void onCreate(@Nullable Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.register_layout);
		addControl();//加载控件
		addRegisterShow();//注册方法
		Bmob.initialize(this, "你自己的appid");
	}

	private void addRegisterShow() {
		register_ok.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				String mobile = register_user.getText().toString().trim();
				String password = register_password.getText().toString().trim();

				//判断是否输入是否是电话号码
				boolean phone = isPhoneNumber(mobile);
				//判断密码
				boolean pwd = PasswordJudge(password);

				if(mobile.isEmpty() || password.isEmpty())
				{
					Toast.makeText(RegisterActivity.this,"用户名或密码不能为空",Toast.LENGTH_SHORT).show();
				}
				else if(!phone)
				{
					Toast.makeText(RegisterActivity.this,"请输入正确的手机号码",Toast.LENGTH_SHORT).show();

				}
				else if(!pwd)
				{
					Toast.makeText(RegisterActivity.this,"密码在以字母开头6-18位之前只能包含字母数字和下划线",Toast.LENGTH_SHORT).show();
				}
				else{
					Bmoblogin();
				}

			}
		});
	}
private boolean isPhoneNumber(String phoneStr)
{
	//定义电话格式的正则表达式
	String regex = "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$";
	//设定查看模式
	Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
	//判断Str是否匹配,返回匹配结果
	Matcher m = p.matcher(phoneStr);
	return m.matches();
}
private boolean PasswordJudge(String pwStr)
{

	//密码判断以字母开头,长度在6~18之间,只能包含字母、数字和下划线
	String pattern = "^[a-zA-Z]\\w{5,17}$";

	Pattern r = Pattern.compile(pattern);
	Matcher m = r.matcher(pwStr);
	return m.find();
}

	private void addControl() {
		register_user = (TextView) findViewById(R.id.id_register_username);
		register_password = (TextView) findViewById(R.id.id_register_userpassword);
		register_ok = (Button) findViewById(R.id.id_register_ok);


	}
	private void Bmoblogin()//Bmo注册写入方法
	{
		final BmobUser p2 = new BmobUser();
		p2.setUsername(register_user.getText().toString());
		p2.setPassword(register_password.getText().toString());
		p2.signUp(new SaveListener<BmobUser>() {
			@Override
			public void done(BmobUser bmobUser, BmobException e) {
				if (e == null) {
					//判断是否注册成功成功则跳转到登陆的页面
					Intent intent_register = new Intent(RegisterActivity.this,MainActivity.class);
					startActivity(intent_register);
					Toast.makeText(RegisterActivity.this, "添加数据成功,返回objectId为:" + p2.getObjectId(), Toast.LENGTH_SHORT).show();
				} else {
					Toast.makeText(RegisterActivity.this, "用户名或者密码不能为空", Toast.LENGTH_SHORT).show();
				}
			}
		});
	}
}

然后自己再根据需求改动即可
源码地址:https://github.com/307572384/bmobtest

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

轻烟飘荡

我想吃甜筒

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值