JavaScript正则(一)
1、字符组:
^ $ 说的是开始位置和结束位置,在JS中,既表示字符串的起始位置和结束位置,也表示行的起始位置和结束位置
console.log(/^\d$/.test('2')); // true 这里的 \d 代表的是数字
console.log(/^\d$/.test('a')); // false
[ ] 是一个字符集合,匹配他包含的任一个字符
console.log(/^[0123456]$/.test('0')); // true
console.log(/^[0123456]$/.test('7')); // false
console.log(/^[0123456]$/.test('12')); // false 在这里在[0123456]代表的是一个字符,所以来匹配 12 返回 false
{m,n} 代表重复的次数,这个也叫量词
console.log(/^\d{1,3}$/.test('123')); // true 在这是说可以出现 1 到 3 个数字
console.log(/^\d{1,3}$/.test('1')); // true
console.log(/^\d{1,3}$/.test('1234')); // false
? + * 这些也叫量词
var res = /^<[^>/]([a-zA-Z]+)[^>/]>$/
console.log(res.test('<div>')); // true 这里这个正则匹配的是一个 html open tag,但是还有点问题不能匹配 <u> 这样的标签
console.log(res.test('<div/>')); // false
这里的 [^>/] 代表的是这个地方不能出现 > 和 / ,就是非的意思
- 代表的是一个范围 [a-zA-Z] 限制了标签名只能是大小写字母的组合
[a-zA-Z]+ 这里的 + 代表的是最少出现一次,出现次数没有上限
?代表了 可能出现也可能不出现,但是最多只能出现一次
var res = /^travell?er$/;
console.log(res.test('traveller')); // true 这几个量词都是限制他们前一个字符
console.log(res.test('traveler')); // true
* 代表了 可能出现也可能不出现,出现次数没有上限
var res3 = /^\"[^\"]*\"$/
console.log(res3.test('\"some\"')); // true 这里在双引号前面的 \ 都是对 “ 的转义
console.log(res3.test('\"\"')); // true
环视:(?!……)和(?=……) (?<!……) 和(?<=……) 前面的那一对是否定顺序换和肯定顺序换,后面的一对是否定定循环和肯定逆循环
var res = /^<(?!\/)([^'">]+)(?<!\/)>$/
console.log(res.test('<div>')); // true
console.log(res.test('</div>')); // false
console.log(res.test('<div/>')); // false
<(?!\/) 的意思是在 < 的右侧不能出现 /,为了排除 close tag \/ 是对 / 进行转义
(?<!\/)> 的意思是在 > 的左侧不能出现 / 为了排除 close-selfing tag
var res = /^<(?!\/)([^'">]+)(?<=\/)>$/
console.log(res.test('<div>')); // false
console.log(res.test('<div/>')); // true
(?<=\/)> 这把 ! 变成了= ,意思是在 > 的左侧是 / ,匹配的是html的 close tag \s 代表的是空白符,可能是空格也可能是换行 \S 是\s 的补集 \d 代表的是数字,\D 是\d 的补集 \w 代表的是[-a-z0-9A-Z],\W 是\w 的补集
\s\S \d\D \w\W 他们可以代表所有的字符
| ,就是或的意思,(\s|\d)+ 代表了不是数字就是空白字符,最少要出现一次
JavaScript正则(一)的更多相关文章
- JavaScript正则实战
*:first-child { margin-top: 0 !important; } .markdown-body>*:last-child { margin-bottom: 0 !impor ...
- 我也谈javascript正则匹配
一.javascript 正则全局匹配 g 慎用test()方法 来个例子: var a = /^[a-z]+/gi; a.test('bb123'); //true a.lastIndex ; // ...
- JavaScript正则式入门
正则式 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表通常被用来检索.替换那些符合某个模式(规 ...
- JavaScript 正则
元字符 预定义类 边界 ^在中括号中时,匹配非hello的 str = 'hello world' str.match(/[^hello]/g) //[" ", "w&q ...
- JavaScript正则中\1\2的作用
一.示例 1. 验证6个相同的数字 var reg = new RegExp(/^(\d)\1{5}/g); var a = '333333'; if(reg.test(a)) { alert('ri ...
- JavaScript 正则表达收集整理
JavaScript 正则表达收集整理 //可为空 /^\s*$/ //密码验证,必须且只含有数字和字母,可以拥有英文符号,6-17位 /(?=.{,})(?=.*\d)(?=.*[a-z])[\x2 ...
- JavaScript正则常用知识总结
一.JavaScript正则相关方法 str.match(regexp)与regexp.exec(str)功能类似. str.search(regexp)与regexp.test(str)功能类似. ...
- JavaScript 正则的使用方法
JavaScript正则方法 1.compile 编译一个正则表达式对象 rgExp.compile(pattern, [flags]) pattern字符串表达式 2.exec 在指定字符串中执行 ...
- Javascript正则构造函数与正则表达字面量&&常用正则表达式
本文不讨论正则表达式入门,即如何使用正则匹配.讨论的是两种创建正则表达式的优劣和一些细节,最后给出一些常用正则匹配表达式. Javascript中的正则表达式也是对象,我们可以使用两种方法创建正则表达 ...
- JavaScript正则验证邮箱
正则表达式/^正则$/.test() <html> <head> <title>JavaScript</title> <meta charset= ...
随机推荐
- JAVA HTTP请求和HTTPS请求
HTTP与HTTPS区别:http://blog.csdn.net/lyhjava/article/details/51860215 URL发送 HTTP.HTTPS:http://blog.csdn ...
- maya卸载不干净
AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...
- LeanTouch控制移动
Lean_Touch控制移动 using UnityEngine; using System.Collections; using System.Collections.Generic; using ...
- 用信鸽来解释 HTTPS
原文:http://blog.jobbole.com/113883/ ----------------------------------------------------------------- ...
- WCF:无法满足对安全令牌的请求,因为身份验证失败。
服务端和客户端如果有认证的话的这样: <wsHttpBinding> <binding name="WSHttpBinding_IService1" closeT ...
- JNA简单使用
近期使用Java开发有关于摄像机接收到数据的上传,因为摄像机处理图像是用C语言实现的,所以开发需要用到JNA,实现JAVA对C语言的回调,因为具体的开发方式官方文档里面有示例,所以本文只是简单的把需要 ...
- intellijidea课程 intellijidea神器使用技巧1-5 idea界面介绍
菜单栏介绍: file:文件操作edit:文本操作view:视图操作navigate:跳转code:源码文件analyze:项目依赖关系分析refactor:代码重构快捷操作,如:抽取函数build: ...
- iOS 8 提供 TestFlight 方便开发者测试软件 (转)
原文地址:http://tech2ipo.com/66893 TestFlight / via iMore 作者: Nick Arnott 译者:翛凌 原文:iMore iOS 应用程序的测试对 ...
- BZOJ3329: Xorequ(二进制数位dp 矩阵快速幂)
题意 题目链接 Sol 挺套路的一道题 首先把式子移一下项 \(x \oplus 2x = 3x\) 有一件显然的事情:\(a \oplus b \leqslant c\) 又因为\(a \oplus ...
- jquery-fullpage插件
jquery fullpage.js全屏滚动插件/jquery-easing插件 // 前端自动化工具安装插件 在页面引入: <link rel="stylesheet" h ...