Java代码解密手机号,手机号掩码处理java

java中如何提取一个字符串中的电话号码?

java中如何提取一个字符串中的电话号码,先写出手机号码和固定号码的正则表达式,然后创建模式,获取到匹配器,从而刷选出符合要求的电话号码,如下:

我们提供的服务有:网站设计制作、网站设计、微信公众号开发、网站优化、网站认证、城固ssl等。为1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的城固网站制作公司

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class TestC {

public static void main(String[] args){

//要提前号码的字符串

String str="n13977777777s18911111111你好15988888888hha0955-7777777sss0775-6678111";

//提取手机号码

checkCellphone(str);

//提取固定电话号码

checkTelephone(str);

}

/**

 * 查询符合的手机号码

 * @param str

 */

public static void checkCellphone(String str){

// 将给定的正则表达式编译到模式中

Pattern pattern = Pattern.compile("((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\\d{8}");

// 创建匹配给定输入与此模式的匹配器。

Matcher matcher = pattern.matcher(str);

//查找字符串中是否有符合的子字符串

while(matcher.find()){

//查找到符合的即输出

System.out.println("查询到一个符合的手机号码:"+matcher.group());

}

}

/**

 * 查询符合的固定电话

 * @param str

 */

public static void checkTelephone(String str){

 // 将给定的正则表达式编译到模式中

Pattern pattern = Pattern.compile("(0\\d{2}-\\d{8}(-\\d{1,4})?)|(0\\d{3}-\\d{7,8}(-\\d{1,4})?)");

// 创建匹配给定输入与此模式的匹配器。

Matcher matcher = pattern.matcher(str);

//查找字符串中是否有符合的子字符串

while(matcher.find()){

 //查找到符合的即输出

System.out.println("查询到一个符合的固定号码:"+matcher.group());

}

}

结果:

查询到一个符合的手机号码:13977777777

查询到一个符合的手机号码:18911111111

查询到一个符合的手机号码:15988888888

查询到一个符合的固定号码:0955-7777777

查询到一个符合的固定号码:0775-6678111

java通过一个数字找到匹配的手机号码怎么写代码?

比如你拿到的数字是 number, 所有手机号码为 tele_nums,一个手机号码为tele_num;

。。。

String test = String.vlaueOf(number);

for(...) { //获取单个手机

if(tele_num.contains(test)) {

...

...这里面就已经过滤了

}

}

输入3位数字 在通讯录中找到跟前3位数字相匹配的手机号码,用java怎么写代码?

楼上应该放出答案了,我这里只是用其他界面显示,不懂Swing的可以略过,(代码比较粗略,不一定符合规范,照搬需谨慎)

import java.awt.Dimension;

import java.awt.GridLayout;

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

import java.util.ArrayList;

import java.util.List;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JTextField;

public class Demo extends JFrame {

ListString pnos = new ArrayListString();

public static void main(String[] args) {

new Demo();

}

public Demo() {

StringBuffer sb = new StringBuffer("htmlbody");

while (pnos.size()  15) {// "随机"生成电话号码,可以不理他

String telString = getRandomTel();

if (!pnos.contains(telString)) {

pnos.add(telString);

sb.append(telString);

if (pnos.size() % 3 == 0) {

sb.append("br/");

} else if (pnos.size()  15) {

sb.append(",");

}

}

}

sb.append("/body/html");

JLabel label = new JLabel(sb.toString());

final JTextField input = new JTextField();

final JLabel result = new JLabel();

this.setLayout(new GridLayout(3, 1));

this.add(label);

this.add(input);

this.add(result);

this.setSize(new Dimension(300, 500));

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setLocationRelativeTo(null);

this.setVisible(true);

input.addKeyListener(new KeyAdapter() {

@Override

public void keyReleased(KeyEvent keyevent) {

result.setText(getMatchNo(input.getText()));

}

});

}

/**

 * 

 * @param perfix

 * @return

 */

public String getMatchNo(String perfix) {

StringBuffer sb = new StringBuffer("htmlbody");

if (perfix != null  !perfix.trim().equals(""))

for (String string : pnos) {// 这里是你要的部分,遍历“号码本”匹配是否为输入数字的开头

if (string.startsWith(perfix)) {

sb.append(string).append("br/");

}

}

sb.append("/body/html");

return sb.toString();

}

private static String[] telFirst = "134,135,136,137,138,139,150,151,152,157,158,159,130,131,132,155,156,133,153"

.split(",");

private static String getRandomTel() {

int index = getNum(0, telFirst.length - 1);

String first = telFirst[index];

String second = String.valueOf(getNum(1, 888) + 10000).substring(1);

String thrid = String.valueOf(getNum(1, 9100) + 10000).substring(1);

return first + second + thrid;

}

public static int getNum(int start, int end) {

return (int) (Math.random() * (end - start + 1) + start);

}

}


文章标题:Java代码解密手机号,手机号掩码处理java
文章转载:http://ybzwz.com/article/phhegi.html