「java座机正则」java正则表达式匹配电话号码

博主:adminadmin 2023-03-20 12:07:10 388

今天给各位分享java座机正则的知识,其中也会对java正则表达式匹配电话号码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

大家好,我是java新手入门,我想问怎么判断座机号码是否正确。格式****-*******

学习java中,目前是学习的第5天,写的不好勿喷:

package baiduknow.basic;

import java.util.Scanner;

/*判断座机号码是否正确。格式****-*******座机号一共是十二位,也就是说。下标的第四位必须为-而后面必须为7位数字。区号必须为4位。*/public class ZuoJiHaoMaPanDuan {

public static void main(String[] args){

Scanner sc=new Scanner(System.in);

System.out.println("请输入座机号码:");

String str=sc.next();

boolean flags=false;

// 判断

if(str.length()!=12||str.charAt(4)!='-'||str.charAt(5)==0){

System.out.println("座机号码错误!");

return;

}

int i;

for(i=0;i12;i++){

if(i==4||i==5){

continue;

}else{

if(str.charAt(i)='0'str.charAt(i)='9'){

continue;

}else{

break;

}

}

}

if(i=12){

flags=true;

}

// 判断结果;

if(true==flags){

System.out.println("座机号码正确!");

}else{

System.out.println("座机号码错误!");

}

}

}

java正则表达式是什么?

在程序开发中,难免会遇到需要匹配、查找、替换、判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力。因此,学习及使用正则表达式,便成了解决这一矛盾的主要手段。

正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。

正则表达式的特点是:

1、灵活性、逻辑性和功能性非常强;

2、可以迅速地用极简单的方式达到字符串的复杂控制。

3、对于刚接触的人来说,比较晦涩难懂。

由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。

急求一个JAVA中判断用户输入的数字是一个合法的电话号码的正则表达式,包括住宅电话与移动电话。

// TODO : 用正则表达式判断一个字符串中是否为电话号码,--无误格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX

String s="333212";

Pattern p=Pattern.compile("^(\(\d{3:4}\)|\d{3:4}-)?\d{7:8}$");

Matcher m=p.matcher(s);

System.out.println(m.matches());

/**

* 考证数字:^[0-9]*$

考证n位的数字:^\d{n}$

考证至多n位数字:^\d{n:}$

考证m-n位的数字:^\d{m:n}$

考证零和非零开头的数字:^(0|[1-9][0-9]*)$

考证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$

考证有1-3位小数的正实数:^[0-9]+(.[0-9]{1:3})?$

考证非零的正整数:^\+?[1-9][0-9]*$

考证非零的负整数:^\-[1-9][0-9]*$

考证非负整数(正整数 + 0) ^\d+$

考证非正整数(负整数 + 0) ^((-\d+)|(0+))$

考证长度为3的字符:^.{3}$

考证由26个英文字母组成的字符串:^[A-Za-z]+$

考证由26个大写英文字母组成的字符串:^[A-Z]+$

考证由26个大写英文字母组成的字符串:^[a-z]+$

考证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$

考证由数字、26个英文字母恐怕下划线组成的字符串:^\w+$

考证用户密码:^[a-zA-Z]\w{5:17}$无误格式为:以字母开头,长度在6-18之间,只能包罗字符、数字和下划线。

考证是否含有 ^%rev;':;=?$"等字符:[^%rev;':;=?$\x22]+

考证汉字:^[\一-\龥]:{0:}$

考证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

考证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%rev;=]*)?$;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$

考证电话号码:^(\(\d{3:4}\)|\d{3:4}-)?\d{7:8}$:--无误格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。

考证身份证号(15位或18位数字):^\d{15}|\d{}18$

考证一年的12个月:^(0?[1-9]|1[0-2])$ 无误格式为:“01”-“09”和“1”“12”

考证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$无误格式为:01、09和1、31。

整数:^-?\d+$

非负浮点数(正浮点数 + 0):^\d+(\.\d+)?$

正浮点数^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$

非正浮点数(负浮点数 + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))$

负浮点数^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$

浮点数 ^(-?\d+)(\.\d+)?$

*/

java中电话号码的正则表达式,只要是11位就可以了,不限定是什么开头

首先说明下正则表达式是通用的,不只是JAVA中

下面给个简单的匹配

^1[0-9]{10}$

或者

^1\d{10}$

上面就最简单的符合数字而已,如果LZ不考虑第一位是否是1

直接^\d{11}$

java 问题,电话正则表达式:^(0[0-9]{2,3}-)?([2-9][0-9]{6,7})+(-[0-9]{1,4})?$

^1[3|4|5|8][0-9]\\d{6,8}$

表达式完全可以写成

^1[3|4|5|8]\\d{7,9}$

没有问题的,[0-9]

\\d

是完全一样的

手机号码是11位的应该写成

^1[3458]\\d{9}$

这样吧

java判断座机号格式是否正确,应该怎么判断,求大神详细解答!

/**

 * 思路:

 * 1.咱作用就是把困难留给自己,把方便留给别人,你限制人家输入?不可取!

 * 2.随便别人怎么输入,不管输不输入"-",你用字符串接受掉,然后过滤掉非数字即可!

 * 3.就是判断,你4+7=11我没算错吧?哈哈..过滤后的字符串不是11位就算不OK?懂了?

 * 4.如果长度合法了,那就输出,输出截取前4位,OK你自己加"-"然后加上后面7位简单吧?

 * 5.废话结束,看演示,弄的不好请丢砖头!

 */

import java.util.Scanner;//标准设备输入流,必备!

public class Phone {

public static void main(String[] args) {

Scanner sc=new Scanner(System.in);

while(true) {

System.out.println("请输入坐鸡电话号码:11位合法");

String str=sc.nextLine().replaceAll("[^\\d]", "");

if(str.length()!=11) {

System.out.println("输入错误请查看规则:\r\n");

}else {

System.out.println("你输入的是:"+(str.substring(0,4)+"-"+(str.substring(4))));

sc.close();

break;

}

}

}

}

关于java座机正则和java正则表达式匹配电话号码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。