js正则验证-js 正则同时验证 手机号和座机 用逗号间隔

问题描述

js 正则同时验证 手机号和座机 用逗号间隔

比如:23955558888,13700596648,010-62607878

现正则:/^(1d{10})|(0d{2,3}-?d{7,8}(-d{3,4})?$)/

这样可以匹配出座机不正确的,但是手机号却被当做座机处理了。
求正解!

补充:
我用笨办法处理的:接收到子串后,用split分割开,再逐一验证的
手机号不会以 除 1 以外的数字开头;

解决方案

先split分割,然后调用这个函数:

 function checkMobile(str) {
   var rePhone =  /^((+?86)|((+86)))?1d{10}$/;
   var Tel = /^((+?86)|((+86)))?d{3,4}-d{7,8}(-d{3,4})?$/;
   if (rePhone.test(str)||Tel.test(str)) {
       //是手机或者座机
   } else {
       //匹配失败
   }
}

解决方案二:

还不如先split切割,然后分别匹配,这样写起来改起来以及维护都简单。

解决方案三:

你的逗号呢?
而且你保证第一个手机号,不是座机?

时间: 2024-12-02 17:35:04

js正则验证-js 正则同时验证 手机号和座机 用逗号间隔的相关文章

正则验证js大全

正则验证js大全 欢迎入群技术交流:466355109,技术不全没关系,只要有交流的心就尽管来吧 function f_MobilCheck(as_SourceString) { if(as_SourceString.match(/^13[0-9]{9}$/g)) return true; //手机号为13开头的11位数字 else if(as_SourceString.match(/^[0]{1}[0-9]{2,3}[2-8]{1}[0-9]{5,7}$/g)) return true; //

js ip与域名正则验证程序

js ip与域名正则验证程序 function checkIP() {  var ipArray,ip,j;  ip = document.ipform.ip.value;    if(/[A-Za-z_-]/.test(ip)){   if(!/^([w-]+.)+((com)|(net)|(org)|(gov.cn)|(info)|(cc)|(com.cn)|(net.cn)|(org.cn)|(com.ru)|(net.ru)|(org.ru)|(name)|(biz)|(hk)|(tv)

正则验证手机号和座机

问题描述 正则验证手机号和座机 求一正则验证手机号和座机,其中座机可带区号或不带区号的8位或7位 解决方案 ^(d{3,4}-)d{7,8}$座机 ^1[3|4|5|7|8][0-9]d{8}$手机 解决方案二: ^(d{2,4}-)?d{7,8}$ 座机 ^1d{10}$ 手机 非vb要注意反斜杠字符串转义. str.matches("^(\d{2,4}-)?\d{7,8}$") str.matches("^1\d{10}$ ")

最常用的15个前端表单验证JS正则表达式

在表单验证中,使用正则表达式来验证正确与否是一个很频繁的操作,本文收集整理了15个常用的JavaScript正则表达式,其中包括用户名.密码强度.整数.数字.电子邮件地址(Email).手机号码.身份证号.URL地址. IPv4地址. 十六进制颜色. 日期. QQ号码. 微信号.车牌号.中文正则. 1 用户名正则 //用户名正则,4到16位(字母,数字,下划线,减号) var uPattern = /^[a-zA-Z0-9_-]{4,16}$/; //输出 true console.log(uP

手机号码验证方法(正则验证)

只允许输入数字 <xsl:attribute name="onkeyup">value=value.replace(/[^\d]/g,'')</xsl:attribute> <xsl:attribute name="onbeforepaste">clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))</xsl:attri

用jquery验证js里面的一个文本框 字符长度不能超过 10个数

问题描述 用jquery验证js里面的一个文本框 字符长度不能超过 10个数 用jquery验证js里面的一个文本框 字符长度不能超过 10个数 除了用$("#A").val().length>10之外还能怎么判断? 解决方案 我觉得,如果只是长度限制的话,完全可以不用js.你直接只用文本框里面的maxlength长度限制标签;例如: 解决方案二: <input name="A" type="text" id="A"

js 日期正则表达式支持月日验证

这款js 日期正则表达式支持月日验证,我们会一一举例说明一下有关日期验证表达式的函数实例了. function isdate(str){ var result=str.match(/^(d{4})(-|/)(d{1,2})2(d{1,2})$/); if(result==null) return false; var d=new Date(result[1], result[3]-1, result[4]); return (d.getFullYear()==result[1] && d.

JavaScript---网络编程(12)--DHTML技术演示(5)-form表单验证技术(正则)

这里不进行很复杂的后台验证以及JavaScript的正则表达式,只是简单的介绍下这个技术,简单的后台接收与跳转,大概了解怎么验证的就可以.具体的技术,我后面还会继续写博客的.本人也还在学习中. 表单验证1-简单验证 进行简单的验证,用户名必须为abcd,密码长度必须大于等于6 然后根据用户输入的数据,在后面给出提示. 代码演示: <html> <head> <title>DHTML技术演示---表单验证</title> <meta http-equiv

正则表达式创建方式的区别及编写简单的正则方式(js学习总结)

在字面量方式中,我们//之间包起来的所有的内容都是元字符,有的具有特殊意义,大部分都是代表本身含义的普通的元字符 var name = 'wo'; var reg = /^\d+"+name+"\d+$/ 为了解决上述想在正则里面加上一个变量这样的需求,我们只能使用实例创建的方式了 var reg = new RegExp("^\\d+"+name+"\\d+$","g") 字面量方式和实例创建的方式在正则中的区别? 1.字面