用js实现匹配文本中的电话号、固定电话号

时间:2022-03-27 14:05:21

思路:

1.用正则取出所有数字串

  说起来容易,做起来难,开始只是简单的/D+/,后边发现这样做会将固定电话分成两段数字串,后经百度找到解决办法 /[^0-9/-]/ 意思是非数字不包括-作为分割

2.判断是否为手机号、固定电话号

代码:

<html>
<head>
<title>号码</title>
</head>
<body>
<input id="ss" type="text" ></input>
<button type="button" onclick="checkTel()">判断</button>
</body>
<script type="text/javascript">
function checkTel()
{
var isPhone = /^0[0-9]{2,3}-?[0-9]{8}$/;//固话
var isMob=/^(((\+?86)|(\(\+86\)))?([1][3,4,5,7,8][0-9]{9}))$/;//手机
var val=document.getElementById("ss").value;//得到文本内容 object类型
var num=val.split(/[^0-9/-/+]/); // 分割取出连续数字
var s =num.toString(); //转化成字符串 测试数据 我+8617776032602dian02165478932hua158021123456789464269de8615894604269
var arr=s.split(",");
var tel=[];
var sol=[];
for(var i=0;i<arr.length;i++)
{
if(isPhone.test(arr[i]))
{
sol+=arr[i]+",";
}
else if(isMob.test(arr[i]))
{
tel+=arr[i]+",";
}
/*else
{
alert("没有搜索到电话/固话");
}*/
}
alert("手机号 "+tel+"固定电话号 "+sol);
}
</script>
</html>

用js实现匹配文本中的电话号、固定电话号的更多相关文章

  1. js从富文本中找出固定电话、手机号码、邮箱并添加上链接。

    function richtextfindtel(value) { /*固定电话.手机号码.邮箱*/ var tempValue = value.replace(/<[^>]+>/g ...

  2. java正则表达式匹配文本中想要的字符串

    需求:获取一个本地文件中所有符合 $[MAKE_PACKAGE] 格式的字符串,并输出到另一个文件中. public static void main(String[] args) throws Ex ...

  3. IOS 正则表达式匹配文本中URL位置并获取URL所在位置&lpar;解决连接中文问题&rpar;

    需求很简单,是从一段文本中匹配出其中的超链接.基本的做法就是用正则表达式去匹配.但是有这样一个问题. 网上大部分的识别URL的正则表达式url末尾有空格的情况下可以正确识别.比如这样的情况. 我是一段 ...

  4. 在文本中匹配链接并添加A标签

    (?<!href="|">)(https?:\/\/[\w\-\.!~?&=+\*\'(),\/]+)((?!\<\/\a\>).)* 这个正则可以 ...

  5. js如何替换字符串中匹配到多处中某一指定节点?

    抛出一个问题,如图,搜索关键字,匹配到四处,那我鼠标放在第二处,我想把它变个颜色,该怎么实现呢?回到文章的标题,js如何替换字符串中匹配到多处中某一指定节点? 字符串的替换,我们首先想到的一个属性是r ...

  6. Java经典实例:在文本中匹配换行符

    默认情况下,正则表达式 ^ 和 $ 忽略行结束符,仅分别与整个输入序列的开头和结尾匹配.如果激活 MULTILINE 模式,则 ^ 在输入的开头和行结束符之后(输入的结尾)才发生匹配.处于 MULTI ...

  7. bash 正则表达式匹配,一行文本中 &OpenCurlyDoubleQuote;包含 ABC” 并且 &OpenCurlyDoubleQuote;不包含 XYZ”

    bash 正则表达式匹配,一行文本中  “包含 ABC”  并且  “不包含 XYZ” A文件: XXXX ABC XXX4444444444444444XXXX ABC XXX XYZ6666666 ...

  8. vim技巧4 删除&sol;保留文本中匹配行

    vim技巧:如何删除/保留文本中特定的行呢? <ol><a href="/ss/ss/www"> show invisibles</a> &lt ...

  9. JS实现文本中查找并替换字符

    JS实现文本中查找并替换字符 效果图: 代码如下,复制即可使用: <!DOCTYPE html><html> <head> <style type=&quot ...

随机推荐

  1. img list

  2. c语言二叉树

    Department of Computing and Information SystemsCOMP10002 Foundations of AlgorithmsSemester 2, 2014As ...

  3. Bzoj-2820 YY的GCD Mobius反演&comma;分块

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2820 题意:多次询问,求1<=x<=N, 1<=y<=M且gcd( ...

  4. swift Array 数组

    // //  main.Swift //  swift数组 // //  Created by zhangbiao on 14-6-15. //  Copyright (c) 2014年 理想. Al ...

  5. 设计模式&lpar;7&rpar;--Bridge&lpar;桥接模式&rpar;--结构型

    1.模式定义: 桥接模式是对象的结构模式.又称为柄体(Handle and Body)模式或接口(Interface)模式.桥接模式的用意是“将抽象化(Abstraction)与实现化(Impleme ...

  6. Windows系统下八大具有高逼格的DOS命令之一【ping】

    ping命令: ping是用来检测网络是否通畅或者查询网络连接速度的一个基础命令.作为一名对计算机痴迷的爱好者来说,ping命令是需要第一个掌握的DOS命令.它所利用的原理是这样的:网络上的机器都有唯 ...

  7. &lbrack;C&plus;&plus;&rsqb;Linux之虚拟文件系统&lbrack;&sol;proc&rsqb;中关于CPU&sol;内存&sol;网络&sol;内核等的一些概要性说明

    声明:如需引用或者摘抄本博文源码或者其文章的,请在显著处注明,来源于本博文/作者,以示尊重劳动成果,助力开源精神.也欢迎大家一起探讨,交流,以共同进步- 0.0 1.Linux虚拟文件系统 首先要明白 ...

  8. 【LeetCode每天一题】Combination Sum&lpar;组合和&rpar;

    Given a set of candidate numbers (candidates) (without duplicates) and a target number (target), fin ...

  9. 深入理解 Java Object

    Java中的Object对象为所有对象的直接或间接父对象,里面定义的几个方法容易被忽略却非常重要.以下来自Effective Java 对Object中几个关键方法的应用说明. public clas ...

  10. PowerDesigner使用笔记

    一:PDM模版使用 1:新建model:File——new model——选择PDM,填上名字.数据库类型 2:右侧工具类使用 3:创建表与配置 点击右侧工具栏中table控件,移动到模版面板内点击一 ...