快乐的JS正则表达式(一)
上一篇介绍了为什么需要正则,那从这一篇开始我们就去学习如何使用正则。
在js中有两种方式创建正则表达式:
var reg = new RegExp("表达式","可选规则");
var reg = / 表达式 /可选规则;
另外在本节介绍一个简单的方法,更多方法会在后面的章节介绍。
test()方法用来判断一段文本里面是否有指定的内容,有就返回true,否则false。
var str = 'qqwebpp';
var reg = /web/;
console.log(reg.test(str)); //true
需要注意的是/web/匹配的是web这几个字的整体,而不是一个字符串。
var str = 'qqwebpp';
var reg = /webs/;
console.log(reg.test(str)); //false
这个表达式验证了我们上一点。
var str = 'qqhtml5pp';
var reg = /html5/;
console.log(reg.test(str)); //true
虽然这样也能够完成我们要的结果,但是有时html后面的数字我们并不指定是5,如果是任意的数字,我们可以这样。
var str = 'qqhtml4pp';
var reg = /html[0123456789]/;
console.log(reg.test(str)); //true
如果我们想匹配任意的一个值,可以用方括号扩起来,只要对应的文本里面有我们方括号里面写的任意一个值就能够匹配的到。这样写多少有些麻烦,如果我们是想匹配任意的一个数字我们可以通过0-9来简写,0-9并不是固定的也可以从6-8,随便你写。
var str = 'qqhtml4pp';
var reg = /html[0-9]/;
console.log(reg.test(str)); //true
如果是想匹配任意一个字母的话可以通过[a-z],匹配大写的字母通过[A-Z],匹配大写或小写中的任意一个[a-zA-Z];通过一个来例子结束本节。
var str1 = 'I move 1 to 2 you ?';
var str2 = 'I move 6 to 7 you ?';
匹配这段文字里面的 数字 to 数字
var str1 = 'I move 1 to 2 you ?';
var str2 = 'I move 6 to 7 you ?';
var reg = /[0-9] to [0-9]/;
console.log(reg.test(str2)); //true
如果一章讲太多的话,会比较乏味,所以分开写。
快乐的JS正则表达式(一)的更多相关文章
- 快乐的JS正则表达式(二)
在上一篇中介绍了一个test方法,在本文中将使用另外一个,exec方法可以找到匹配的结果并且返回结果以及位置.exec("正则"): 简单测试: var str = "{ ...
- 快乐的JS正则表达式(三)
?的用途. 小任务:匹配一段网址如var str = "http://www.123.com/";注意http也可以是https var str = "http://i. ...
- 快乐的JS正则表达式(开篇)
我不喜欢一开始就去讨论某某有多强大,因为我觉得那样没意思,首先我们的知道它是干什么,对我们有啥用,再去讨论它的强大之处也不迟.那和往常一样我们先来看几个例子. var arr = [1,4,2,5,2 ...
- JS正则表达式常用总结
正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...
- 使用外部web组件-----easyUI、jQueryUI、Bootstrap、js正则表达式
1.使用外部web组件,以Bootstrap为例 <head> <link rel='stylesheet' href='bootstrap-3.3.0-dist/dist/css ...
- js正则表达式图形化工具-rline
github地址:https://github.com/finance-sh/rline 在线demo: http://lihuazhai.com/demo/test.html 这是一个js正则表达式 ...
- Python之路-(js正则表达式、前端页面的模板套用、Django基础)
js正则表达式 前端页面的模板套用 Django基础 js正则表达式: 1.定义正则表达式 /.../ 用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...
- JS正则表达式大全
转自:http://wenku.baidu.com/link?url=3y930kC7F6D3wQdMjQ3fVDmiA9Wfebs_QK0UB3N3mFaEoKg4ytZORPopxufeYA6si ...
- js正则表达式replace里有变量的解决方法用到RegExp类
一直比较害怕使用正则表达式,貌似很深奥很复杂的样子,所以在用js操作字符串的时候,我最多使用的是replace.split.substring.indexOf等函数,这些函数有时候需要多次叠加使用,但 ...
随机推荐
- Java攻城狮面试考题
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- iscroll初体验
引入 iscroll是什么?多的概念性让人看不懂的东西就不说了因为看了也可能看不明白,iscroll主要用于移动端设备,主要包括以下的应用场合: 缩放 拉动刷新 速度和性能提升 精确捕捉元素 自定义滚 ...
- aehyok.com的成长之路二——技术选型
前言 首先奉上个人网站地址传送门:aehyok.com 在上一篇博客中http://www.cnblogs.com/aehyok/p/3934197.html主要简单的介绍了自己做个人网站的初衷, ...
- 【VerySky原创】怎样查找到CDHDR、CDPOS表中的OBJECTCLAS字段
可以通过pooled table TCDOB - Objects for change document creation 找到对应的表的对象值: se38 run: RSSCD1TS object ...
- 携程Android App插件化和动态加载实践
携程Android App的插件化和动态加载框架已上线半年,经历了初期的探索和持续的打磨优化,新框架和工程配置经受住了生产实践的考验.本文将详细介绍Android平台插件式开发和动态加载技术的原理和实 ...
- 谢谢博客-园,让我不再有开源AYUI的想法
第一次 第二次 教程不会在博客园上写了,具体的看我官网博客吧,谢谢大家了 ================= 我是个有素质的程序员 艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹艹 ...
- Ques前端组件化体系
Ques是一套组件化系统,解决如何定义.嵌套.扩展.使用组件. 传统开发模式的痛点 无法方便的引用一个组件,需要分别引用其Javascript.Template.CSS文件 我们期望能以MV*的方式去 ...
- 【LeetCode】273. Integer to English Words
Integer to English Words Convert a non-negative integer to its english words representation. Given i ...
- 第一章:Symfony2和HTTP基本原理
恭喜你!通过学习Symfony2,你将用你自己的方式开发出更加高效.全面和流行的Web应用(当然,要受到用人单位或同行的欢迎,还是得靠你自己).Symfony2的存在是为了要解决最根本的问题:即提供一 ...
- 加锁解锁PHP实现 -转载
PHP并没有完善的线程支持,甚至部署到基于线程模型的httpd服务器都会产生一些问题,但即使是多进程模型下的PHP,也难免出现多进程共同访问同一资源的情况. 比如整个程序共享的数据缓存,或者因为资源受 ...