左右若干数字验证的正则表达式
?<=和?=和?:这三种各是什么意思 ,请讲解一下。
你的答案很精辟,谢谢。
给你写了一段示例,用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
随机推荐
- dedecms ckeditor编辑器添加链接默认新窗口打开的修改方法
- jQuery ul标签下拉菜单演示代码
- asp.net jquery+ajax异步刷新实现示例
- js 图片轮播(5张图片)
- VBS教程:对象-Matches 集合
- JavaScript中停止执行setInterval和setTimeout事件的方法
- 深入了解php4(2)--重访过去
- Android中Fragment的生命周期与返回栈的管理
- iOS 原生地图地理编码与反地理编码(详解)
- js中获取jsp表单中radio类型的值简单实例
- Java中终止线程的方法详解
- 解析SQL Server聚焦移除(Bookmark Lookup、RID Lookup、Key Lookup)
- 后缀就扩展名为js的文件是什么文件 原创
- 我教你学之IE6.0性能注册表修改实例
- 百度收录快速提高篇 让百度为你打广告
- 获取一个文件行数的方法
- 在安卓系统中插入表情到光标位置的代码详解
- 详谈.net中的垃圾回收机制
- Android Studio多渠道打包套路
- 网上邻居找不到其他计算机方案