快乐的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等函数,这些函数有时候需要多次叠加使用,但 ...
随机推荐
- 为什么说外卖O2O行业的未来在于尖端技术?
7月13日,百度公司董事长兼CEO李彦宏在发布会上谈及百度外卖时表示,百度外卖里有非常多的人工智能技术的应用,比如同样的商家订单,先配送后配送,时间路线规划等等,都有人工智能的技术,涉及机器学习的问题 ...
- java防止脚本注入,通过拦截器实现
1:利用action过滤 package com.tsou.comm.servlet; import java.util.Enumeration; import java.util.Map; impo ...
- java方法创建
一个方法public(作用域) void(void是不要返回值,String返回String类型,User(自定义的类型)返回User类型) test(方法名) (int a(参数)){ } stat ...
- Maven学习总结(七)——eclipse中使用Maven创建Web项目
一.创建Web项目 1.1 选择建立Maven Project 选择File -> New ->Project,如下图所示:
- SQLSERVER新建表的时候页面分配情况是怎样的?
SQLSERVER新建表的时候页面分配情况是怎样的? 再次感谢sqlskill网站和转载sqlskill网站文章并翻译的人,因为您们的转载和翻译让小弟又学习到新的东西o(∩_∩)o 文章中用到的工具: ...
- Android 的EditText实现不可编辑
android:editable is deprecated: Use an <EditText> to make it editable android:editable is depr ...
- 【BootStrap】初步教程
<span style="font-family: Arial, Helvetica, sans-serif;">最近刚刚接触到BootStrap,在这里总结一下Boo ...
- Andriod调用http请求
// 新建HttpPost对象 HttpPost httpPost = new HttpPost( "http://180.153.1.1:8080/mybankGateway/gatewa ...
- 用git写书
apebook.org www.apebook.org 最好的程序员图书免费托管服务 apebook 提供了 gitbook.com 类似的云端图书托管能力,图书基于广受欢迎的 gitbook 工具 ...
- HDU 3874 Necklace (树状数组 | 线段树 的离线处理)
Necklace Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total S ...