左右若干数字验证的正则表达式
?<=和?=和?:这三种各是什么意思 ,请讲解一下。
你的答案很精辟,谢谢。
给你写了一段示例,用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中基于perl的正则表达式处理函数
- Flex 错误(mx.messaging.messages::RemotingMessage)分析
- Python字符串、元组、列表、字典互相转换的方法
- vue router路由参数刷新消失问题的解决方法
- JavaScript正则表达式(总结篇)
- Apeache启动不成功时,用命令行检测的方法
- php截取中文字符串函数实例
- python smtplib模块发送SSL/TLS安全邮件实例
- csdn 批量接受好友邀请
- 基于JS设计12306登录页面
- Javascript正则控制文本框只能输入整数或浮点数
- jQuery Study Notes学习笔记 (二)
- Kotlin基础教程之控制流(顺序,分支,循环)
- 全面解析iOS中同步请求、异步请求、GET请求、POST请求
- Python找出最小的K个数实例代码
- Python3.遍历某文件夹提取特定文件名的实例
- vue移动端项目缓存问题实践记录
- ASP.NET MVC中分部视图的应用方法
- MAC系统下安装FFmpeg的图文教程
- Python的几种主动结束程序方式