当前位置:首页 » 编程语言 » 手机号码验证java

手机号码验证java

发布时间: 2023-04-15 13:04:40

java 判断号码是手机还是固话

/**
* 验证是否是手机号码
*
* @param str
* @return
*/
public static boolean isPhone(String str) {
if (ValidationUtils.isEmpty(str)) {
return false;
}
Pattern pattern = Pattern.compile("^(1[3,4,5,7,8][0-9])\\d{8}$");
Matcher matcher = pattern.matcher(str);
boolean b = matcher.matches();
return b;
}
/**
* 是否是座机电话号码
*
* @param str
* @return
*/
public static boolean isFixedLine(String str) {
if (ValidationUtils.isEmpty(str)) {
return false;
}
Pattern pattern = Pattern
.compile("^([0-9]{3}-?[0-9]{8})|([0-9]{4}-?[0-9]{7})$");
Matcher matcher = pattern.matcher(str);
boolean b = matcher.matches();
return b;
}

❷ java编程实现自定义异常判断一个手机号码的合法性

用正则判断,

/**
*验证手机号码格式是否正确
*@parammobiles
*@returntrue表示正确false表示不正确
*/
(Stringmobiles){
Patternp=Pattern.compile("^((13[0-9])|(15[0-9])|(18[0-9]))\d{8}");
Matcherm=p.matcher(mobiles);
returnm.matches();
}

当然手机号码好像还有17开头的,对应的正则改一下就好

"^((13[0-9])|(15[0-9])|(18[0-9])|(17[0-9]))\d{8}"

然后在你的代码里面调用这个方法,如果结果为false,就throw new MyException(“手机号码格式不正确”)一个异常。

异常定义可以去继承Exception

/**
*CreatedbyKevinon2015/3/30.
*/
{

privateStringmsg;

publicMyException(Stringmsg){
super(msg);
this.msg=msg;
}


@Override
publicStringgetMessage(){
returnmsg;
}
}

❸ java短信验证码如何设置防重放

1、手机号码限制:限制单个手机号码每天的最大发送次数。超过次数不能发送短信,可以考虑将手机号码加入黑名单,禁止1天。
2、短信发送时间间隔限制:限制同一个手机号码重复发送的时间间隔。通宽饥常设置为60-120秒,前端做倒慎陵返计时限制,时间未到不能点击发送短信按钮,后汪扒台也做时间间隔限制,时间未到不能发送短信。

❹ Java中使用正则表达式验证手机号码,大家看我的代码有什么问题,没得出正确的结果。

Patternp=Pattern.compile("^1[34578]\d{9}$");//改成这样
Matcherm=p.matcher("15217855576");
System.out.println(m.matches());//true

❺ java短信验证码如何验证

先创建一个验证码,通过短信代理发送到用户指定的手机,待用户提交后做对比,看验证码是否一致。

整体流程:

  1. 用户输入手机号码,点击获取验证码

  2. 服务器创建验证码,并通过短信代理商发送到用户手机

  3. 用户查看验证码,输入提交

  4. 服务器进行确认,反馈成功或者失败。

❻ java里怎么判断用户输入的手机号是否合法

如果没有其他要求,下面的就可以
^(13|15|18)\\d{9}$
表示以13或15或18开头,后面9位数字结尾
public class SortTest {
public static void main(String[] args) {
String str="13020895785";
System.out.println(str.matches("^(13|15|18)\\d{9}$"));
}
}

❼ Java如何使用正则表达式验证港澳台手机号码是否有效

不知道港台手机号什么格式:

\d:匹配一个数字字符。等价于[0-9]。

{n,m}:m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。

匹配手机号无非是纯数字,是否达到一定位数

❽ 用Java验证姓名,年龄,电话怎么写。


1、汉字验证

这个方法改一下就行了喊敏梁

/**

*计算字符串长度.一个汉字的长度按2计算.如果给定的字符串为null,返回0.

*

*@paramstr

*待计算长度的字符串

*@return字符串长度

*/
publicstaticintstrlen(Stringstr){
if(str==null||str.length()<=0){
拿租return0;
}
intlen=0;
charc;
for(inti=str.length()-1;i>=0;i--){
c=str.charAt(i);
if((c>='0'&&c<='9')||(c>='a'&amp;&c<='z')||(c>='A'&&c<='Z')){//字母,数字
len++;
}else{
if(Character.isLetter(c)){//中文
len+=2;
}else{//符号或控制字符

len++;
}
}
}
returnlen;
}

2、电话

我给你个思路

就是把字符串转化为数字,然后用try catch 如果呢异常就表明是数字,至于长度length一下就行了,



或用这个

邮编号码:xxx.xxxx(都为数字)
固定电话号码:xx-xxxx-xxxx(都为数字)
手机号码:xxx-xxxx-xxxx(都为数字)
一般来说,基本的校验功能留给页面去处理,可以减轻服务器的负担。建议这些功能放在页面完成。

java中的正则表达式:

/**
*java正则表达式来判断是否EMAIL邮件
*
*@paramnumber
*待检测字符串
*@return若是返回true,否则返回false
*/

importorg.apache.oro.text.regex.MalformedPatternException;
importorg.apache.oro.text.regex.Pattern;
importorg.apache.oro.text.regex.PatternCompiler;
importorg.apache.oro.text.regex.PatternMatcher;
importorg.apache.oro.text.regex.Perl5Compiler;
importorg.apache.oro.text.regex.Perl5Matcher;

(Stringnumber){
//*Regexp匹配模式
//StringpostCodeRegexp="([0-9]{3})+.([0-9]{4})+";//邮政编码的匹配模式
//StringphoneRegexp="([0-9]{2})+-([0-9]{4})+-([0-9]{4})+";//固话的匹配模式
StringmobileRegexp="([0-9]{3})+-([0-9]{4})+-([0-9]{4})+";//手机的匹配模式

PatternCompilercompiler=newPerl5Compiler();
PatternMatchermatcher=newPerl5Matcher();
Patternpattern=null;

//Initializationofcompiler,matcher,andinputomitted;
try{
//pattern=compiler.compile(postCodeRegexp);
//pattern=compiler.compile(phoneRegexp);
pattern=compiler.compile(mobileRegexp);

}catch(MalformedPatternExceptione){
returnfalse;
}

if(matcher.matches(number,pattern))
returntrue;
else
return郑运false;
}

3、年龄跟电话差不多,也是转换为数字,然后比较一下是否大于120

❾ java如何判断手机号码是11为且第一位不是0且不是+86的形式

写在前面:最好还是用正则表达式,简单易懂,易于维护
===================================

//这个方法判断是不是合法的手机号码
public boolean isPhoneNumber(String phoneNumber){
//手机号码长度
int phoneLength=phoneNumber.length();
//第一位是不是0
String phoneOne=phoneNumber.substring(0,1);
//是不是 +86形式
int is86=phoneNumber.indexOf("+86");
//是纯数字 并且长度等于11 并且第一位不是0 并且 不包含+86
return isNumeric(phoneNumber)&&phoneLength==11&&!phoneOne.equals("0")&&is86==-1;
}

//这个方法判断字符串是不是纯数字
public static boolean isNumeric(String str){
Pattern pattern = Pattern.compile("[0-9]*");
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ){
return false;
}
return true;
}

热点内容
网易我的世界地皮服务器大全 发布:2024-11-02 00:24:20 浏览:964
光宇国际服怎么安卓转ios 发布:2024-11-02 00:14:23 浏览:170
魔兽世界单机数据库 发布:2024-11-01 23:37:11 浏览:698
配置vlan后如何配置电脑ip 发布:2024-11-01 23:21:16 浏览:546
中铁盾构机密码是多少 发布:2024-11-01 23:07:21 浏览:708
工规存储 发布:2024-11-01 22:59:33 浏览:802
无法识别加密狗 发布:2024-11-01 22:47:03 浏览:599
手机怎么给wifi改密码怎么办啊 发布:2024-11-01 22:46:03 浏览:858
抖音账号的密码是由什么组成 发布:2024-11-01 22:45:27 浏览:449
linux修改ftp用户密码 发布:2024-11-01 22:41:39 浏览:348