左右若干数字验证的正则表达式
?<=和?=和?:这三种各是什么意思 ,请讲解一下。
你的答案很精辟,谢谢。
给你写了一段示例,用javascript写的,你说的左右数字总个数不超过20,加上“-”即字符串总长度不超过21。如下:
var str = '111-3763232';
var reg = /^(?=.{3,21}$)\d+-\d+$/;
alert(reg.test(str));
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
测试后能满足你的要求。
你想问的应该是以下四个环视结构。它们不匹配任何具体的字符,只匹配一个位置,就像“^”和“$”匹配字符串的起始和结束位置。
(?=...) 正向肯定环视。其中“...”是一个正则表达式,表示在当前位置的右边的字符必须被“...”所匹配。
(?!...) 正向否定环视。表示当前位置右边的内容必须不能被“...”所匹配。
(?<=...)和(?<!...)分别是反向肯定环视和反向否定环视,只不过方向是左边。
至于(?:),它与普通的括号()功能相同,区别是它不会将子匹配储存起来。某些情况下使用(?:)能提高正则表达式的效率。
再来说说表达式“/^(?=.{3,21}$)\d+-\d+$/”:
^(?=.{3,21}$) 规定了从字符串的起始位置开始,后面有3-21个任意字符,接着就是字符串的结束了。
\d+-\d+$ 这个是你的题目要求,没什么好说的了吧。
相关推荐
-
左右若干数字验证的正则表达式
?<=和?=和?:这三种各是什么意思 ,请讲解一下. 你的答案很精辟,谢谢. 给你写了一段示例,用javascript写的,你说的左右数字总个数不超过20,加上"-"即字符串总长度不超过21.如下: var str = '111-3763232'; var reg = /^(?=.{3,21}$)\d+-\d+$/; alert(reg.test(str)); [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 测试后能满足你的要求. 你想问的应该是以下四个环视结构.它们
-
详解正则表达式之数字验证
这篇博文将介绍一些常用的数字验证方法,包括整数验证.国内电话号码验证.身份证号码验证.以及IP地址验证等等验证方法,如果大家对基本概念不够了解,可以先看看我之前写的博文. 第一部分:数值验证 1.验证只包含数字.指定长度(N)的字符串 比如我要验证只包含数字,长度为6的字符串,如123456,则可以使用下面几种效果相同的验证方式 复制代码 代码如下: \d{6} [0-9]{6} \d\d\d\d\d\d 上述几种方式效果相同,更推荐第一种,它更加简洁! 注:后面我都会使用较为简洁的正则表达式,
-
JS正则表达式匹配检测各种数值类型(数字验证)
验证数字的正则表达式集 验证数字:^[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
-
最常用的15个前端表单验证JS正则表达式
在表单验证中,使用正则表达式来验证正确与否是一个很频繁的操作,本文收集整理了15个常用的JavaScript正则表达式,其中包括用户名.密码强度.整数.数字.电子邮件地址(Email).手机号码.身份证号.URL地址. IPv4地址. 十六进制颜色. 日期. QQ号码. 微信号.车牌号.中文正则. 1 用户名正则 //用户名正则,4到16位(字母,数字,下划线,减号) var uPattern = /^[a-zA-Z0-9_-]{4,16}$/; //输出 true console.log(uP
-
Javascript的表单验证-初识正则表达式
推荐阅读:Javascript的表单验证长度 Javascript的表单验证-提交表单 Javascript的表单验证-揭开正则表达式的面纱 JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证. 验证日期 日期的格式相对特别,不能光凭其长度来验证 常见的日期格式:先以两位数表示日,再以两位数表示月,最后以四位数表示年,期间以斜线分隔. MM/DD/YYYY 博主:怎样设计出验证日期是否符合格式的代码呢? 先来看一下验证日期格式的逻辑吧 将表单域中的值取出,
-
15/18位身份证号码验证的正则表达式总结(详细版)
前言 开发过程中,常常需要对一些输入信息进行有效性验证,使用正则表达式进行校验是最简单.效率最高的方式了,下面就来看看15/18位身份证号码验证的正则表达式吧. 介绍 xxxxxx yyyy MM dd 375 0 十八位 xxxxxx yy MM dd 75 0 十五位 地区: [1-9]\d{5} 年的前两位: (18|19|([23]\d)) 1800-2399 年的后两位: \d{2} 月份: ((0[1-9])|(10|11|12)) 天
-
JS判断输入的字符串是否是数字的方法(正则表达式)
实例如下: if (!checkNumber(gopage_val)) { alert("请输入正确页数(数字)"); return false; } //验证字符串是否是数字 function checkNumber(theObj) { var reg = /^[0-9]+.?[0-9]*$/; if (reg.test(theObj)) { return true; } return false; } 以上这篇JS判断输入的字符串是否是数字的方法(正则表达式)就是小编分享给大家的全
-
JS表单数据验证的正则表达式(常用)
常用的验证方法: checkUserNameflag=false; checkPasswordflag=false; checkPasswordAgianflag=false; checkEmailflag=false; // 用户名校验 function checkUserName() { var username = $("userNeme").value; var zz = /^[A-Za-z0-9]{6,}$/; if (!zz.test(username)) { $(&quo
-
Javascript的表单验证-揭开正则表达式的面纱
推荐阅读:Javascript的表单验证长度 Javascript的表单验证-提交表单 Javascript的表单验证-初识正则表达式 在上篇文章给大家介绍了javascript的表单验证-初识正则表达式,本文给大家介绍Javascript的表单验证-揭开正则表达式的面纱,具体详情请看全文. 用元字符匹配相应的字符类型 创建正则表达式有点像创建字符串字面量,只不过正则表达式出现在一对"/"里 正则表达式中会用到一级元字符,用于连接字母与数字 "." 匹配任何字符,除
-
js数据验证集合、js email验证、js url验证、js长度验证、js数字验证等简单封装
前段时间写了一个 js数据验证.js email验证.js url验证.js长度验证.js数字验证等 弹出对话框形式的但是,现在不太流行那种很不友好的方式,于是重写了一个,封装得更加好的,更友好的层形式共享给大家,如果大家使用有bug,请大家给我留言完善,谢谢了. js代码 复制代码 代码如下: /** * 数据验证框架.增加了对id字段检查出错时,直接在对应后面添加一< span>元素来显示错误信息. * * @author wangzi6hao * @version 2.1 * @desc
随机推荐
- PHP实现的MD5结合RSA签名算法实例
- 可以从一台远程服务器运行 SP2 安装程序Install.vbs
- 详解 Java继承关系下的构造方法调用
- 深入了解iOS开发中UIWindow的相关使用
- Elasticsearch.Net使用教程 MVC4图书管理系统(2)
- asp.net DataTable相关操作集锦(筛选,取前N条数据,去重复行,获取指定列数据等)
- c++基础语法:普通继承
- Android实现手机振动设置的方法
- picLazyLoad 实现图片延时加载(包含背景图片)
- jquery实现的随机多彩tag标签随机颜色和字号大小效果
- 解决ajax不能访问本地文件问题(利用js跨域原理)
- javascript 实现划词标记划词搜索功能
- 用javascript实现读取txt文档的脚本
- 在bootstrap中实现轮播图实例代码
- 各种Python库安装包下载地址与安装过程详细介绍(Windows版)
- 判断checkbox选择的个数 多浏览器
- PHP命名空间和自动加载类
- Android Studio彻底删除项目 Android Studio彻底删除Module
- VUE 实现滚动监听 导航栏置顶的方法
- 详解vue 计算属性与方法跟侦听器区别(面试考点)