Android中利用正则表达式验证手机号是否合法
利用正则表达式来验证手机号是否合法,现在我们简单使用一下,这个在实际的应用中很实用。
例:在输入框中输入手机号,判断是否合法,
MainActivity中:
package com.example.mac.judgedemo;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button btn;
private EditText et;
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.btn);
et = (EditText) findViewById(R.id.et);
tv = (TextView) findViewById(R.id.tv);
btn.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.btn:
String number = et.getText().toString();
boolean judge = isMobile(number);
if (judge == true) {
tv.setText("手机号合法");
} else {
tv.setText("手机号不合法");
}
break;
}
}
/**
* 验证手机格式
*/
public static boolean isMobile(String number) {
/*
移动:134、135、136、137、138、139、150、151、152、157(TD)、158、159、178(新)、182、184、187、188
联通:130、131、132、152、155、156、185、186
电信:133、153、170、173、177、180、181、189、(1349卫通)
总结起来就是第一位必定为1,第二位必定为3或5或8,其他位置的可以为0-9
*/
String num = "[1][34578]\\d{9}";//"[1]"代表第1位为数字1,"[34578]"代表第二位可以为3、4、5、7、8中的一个,"\\d{9}"代表后面是可以是0~9的数字,有9位。
if (TextUtils.isEmpty(number)) {
return false;
} else {
//matches():字符串是否在给定的正则表达式匹配
return number.matches(num);
}
}
@Override
public void onPointerCaptureChanged(boolean hasCapture) {
}
}
MainActivity的布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_margin="10dp"
tools:context="com.example.mac.judgedemo.MainActivity">
<EditText
android:id="@+id/et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入手机号" />
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="判断" />
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="显示结果" />
</LinearLayout>
Android中利用正则表达式验证手机号是否合法的更多相关文章
- js中通过正则表达式验证邮箱是否合法
文章目录 1.效果展示 2.问题描述 3.代码实现 1.效果展示 2.问题描述 当用户在输入框输入邮箱后.点击验证邮箱按钮.系统给出提示信息. 3.代码实现 <!DOCTYPE html> ...
- Android之利用正则表达式校验邮箱、手机号、密码、身份证号码等
概述 现在Android应用在注册的时候基本会校验邮箱.手机号.密码.身份证号码其中一项或多项,特此收集了相关的正则表达式给大家分享.除了正则表达式,文章末尾提供Demo中有惊喜哦! 具体验证的图片效 ...
- AngularJS进阶(十三)JS利用正则表达式校验手机号
JS利用正则表达式校验手机号 注:请点击此处进行充电! 绪 由于项目需求,需要在前端实现手机号码的校验.当然了,对于基本的格式校验应该放在客户端进行,而不需要再将待校验的手机号发送至服务端,在服务端完 ...
- java 验证手机号是否合法
一.通用工具类编写 /** * @project * @Description * @Author songwp * @Date 2022/9/15 17:06 * @Version 1.0.0 ** ...
- Android中利用Handler实现消息的分发机制(三)
在第二篇文章<Android中利用Handler实现消息的分发机制(一)>中,我们讲到主线程的Looper是Android系统在启动App的时候,已经帮我们创建好了,而假设在子线程中须要去 ...
- Android中利用ant进行多渠道循环批量打包
公司负责Android开发的小伙伴学习能力稍微偏弱,交代给他的自动化打包的任务,弄了好久依然没有成效.无奈只好亲自出手. 没有想到过程很顺利,我完全按照如下文章的步骤进行: 主要参考: Android ...
- Android 正则表达式验证手机号、姓名(包含少数民族)、身份证号
最近项目中新增的功能,需要对手机号.姓名.身份证号等一些信息进行验证,最好的方法是通过正则表达式来验证,网上查了一些资料,写了这几个工具方法. 1.验证手机号 规则:第一位只能是1,第二位为3-8中的 ...
- iOS 和Android中的正则表达式简单使用
ios 中需要使用NSRegularExpression类,NSTextCheckingResult类. 下面给出最基本的实现代码 NSRegularExpression *regex = [NSRe ...
- JS正则表达式验证手机号和邮箱
一.验证手机号 function isPoneAvailable(poneInput) { var myreg=/^[1][3,4,5,7,8][0-9]{9}$/; if (!myreg.test( ...
随机推荐
- 5_1 大理石在哪儿(UVa10474)<排序与查找>
Raju和Meena喜欢玩弹珠,他们有许多上面有号码的弹珠.一开始时,Raju按照弹珠上面的号码由小到大排成一列,然后Meena会要求Raju找出某个号码的第一颗弹珠所在的位置.她会算1…2…3…,如 ...
- 创建Ajax兼容
var request = new XMLHttpRequest(); IE7以下: var request = new ActiveXObject("Microsoft.XMLHTTP&q ...
- windows和ubuntu安装以太坊客户端Mist
Mist钱包下载地址:https://github.com/ethereum/mist/releases Mist = Ethereum Wallet + Web3 浏览器 Dapp:bancor 史 ...
- 思科室外AP无法注册到WLC
思科的一些新的室外AP,在购买回来时,有时候会出现无法加入WLC的情况,现象基本是无法加入,或感觉加入了,立马又掉了. 例如: AIR-AP1562E-H-K9 AIR-AP1572EAC-H-K9 ...
- POJ3662 Telephone Lines (dijkstra+二分)
Farmer John wants to set up a telephone line at his farm. Unfortunately, the phone company is uncoop ...
- Meaven搭建springboot项目
1.创建一个简单的maven project项目 2.项目目录结构 **注意启动类的位置: 3.pom.xml 配置jar包 <parent> <groupId>org.spr ...
- vue.js ②
1.Vue实例的生命周期钩子 每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听.编译模板.将实例挂载到 DOM 并在数据变化时更新 DOM 等.同时在这个过程中也会运行 ...
- conda常用命令(待续)
1.常用命名 # 查看虚拟环境列表 conda env list # 创建虚拟环境 conda create -n python36 python=3.6.2 # 切换环境 activate pyth ...
- 记处理spring-devtools 和 通用mapper 使用问题
问题: tk.mybatis.mapper.MapperException: 无法获取实体类com.*.* 对应的表名 环境: springboot 2.0.6, 通用mapper 2.0.4,还有 ...
- ios中使用socket实现聊天
[iOS]SocketRocket简单实现聊天室功能 https://www.jianshu.com/p/db34940f1135 CocoaAsyncSocket https://gi ...