我爱撸码,撸码使我感到快乐!
大家好,我是Counter。
好吧已经到凌晨了,其实还是蛮困的,体力不支了,想了想还是把今天任务结束掉吧,为期5天,又重新把JavaScript以及jQuery给大致过了一遍,蛮累的,不过收获还是颇丰,所谓温故而知新可以为师矣。大概的讲讲js里的正则吧,正则要学的东西太多太多,但是工作上有一些是不会经常用到的,所有你看一遍,过些日子可能又忘了,所以当真正有需要的时候再去翻找文档吧,记一些常用的即可。
在js中定义正则有直接量,和RegExp类。
直接量的方式为: /字符模式/标志字符 这样说可能不太好理解,直接上代码吧,直接量可以直接写成这样 var reg = /a[0-9]/g 这个匹配是什么意思呢,匹配a1~a9任意一个,仅且只能一个,g在这里是全匹配的意思,还有 i 意思是不分大小写 m 多行匹配。
+:至少一个。 *:零个或多个。?:零个或一个。 限定词 ^:第一个单词开始匹配,$最后一个单词。其他规则也不多说了,太多太多了,我也没记全,讲讲用的比较频繁的吧,记住匹配方法就可以了。
匹配年龄。要求1-150 。那么我们这边定义直接量进行匹配,上代码和结果:

不要看到这一大串是什么东东就慌了,我们来分析下,首先开始位置为脱字符^,结束位置为美元符 $,这两个一起的意思是说,匹配当前行,就比如说你输入框输入年龄,那么这个年龄就是当前行,这个就是匹配当前行。

接着来,我们发现表达式有个括号,啥意思,因为再看,里面有三个或 | 这个符号就是或的意思,那么在这里面或比较多,所以外面表达式用括号括起来,以防止它本身语句混乱。

接着看,我们都说了3个或,那是不是又可以拆成,[1-9][0-9]?,1[0-4][0-9],150。
第一个表达式 [1-9][0-9]? 那么这个中括号括起来是什么意思,中括号括起来的意思是说,当前只能选其中一个,第一位只能选择 1 到 9,第二位只能取 0 到 9,那么这个后面问号是啥东西,这个问号,前面已经说了,可以有0个或者1个,所以第一个表达式的意思就是可以取值 1到99 ,这个好理解吧。

那么第二个表达式也是同理,1[0-4][0-9],第一位只能取1,第二位可以取0到4,第三位可以取0到9,所以这个表达式的意思就是,可以取值100到149,这样加上我们第一个表达式,现在已经满足,取值1到149了。

那么还差最后一个数150,我们直接加上即可。OK匹配年龄完成。还有3个,匹配qq号,匹配邮箱,提取任意网址的参数。我实在太困了。。。未完待续。。。

正则表达式,js里的正则应用的更多相关文章

  1. 微信小程序 引用其他js里的方法

    微信小程序中,在微信官方开发文档我们可以知道 小程序的目录结构 . 一个小程序页面由四个文件组成,一个小程序页面的四个文件具有相同路径与文件名,由此我们可知一个小程序页面对应着一个跟页面同名的js文件 ...

  2. [js笔记整理]正则篇

    一.正则基本概念 1.一种规则.模式 2.强大的字符串匹配工具 3.在js中常与字符串函数配合使用 二.js正则写法 正则在js中以正则对象存在: (1)var re=new RegExp(正则表达式 ...

  3. 【微信小程序】 引用公共js里的方法

    一个小程序页面由四个文件组成,一个小程序页面的四个文件具有相同路径与文件名,由此我们可知一个小程序页面对应着一个跟页面同名的js文件.可是当有些公共方法,我们想抽离出来成为一个独立公共的js文件.我们 ...

  4. JS中的正则应用

    如果还未掌握正则基础知识可先看另一篇:正则笔记-忘记就来看 创建方法: 直接量语法:/pattern/attributes 创建 RegExp 对象的语法:new RegExp(pattern, at ...

  5. js进阶js中支持正则的四个常用字符串函数(search march replace split)

    js进阶js中支持正则的四个常用字符串函数(search march replace split) 一.总结 代码中详细四个函数的用法 search march replace split 二.js进 ...

  6. JS里默认和常用转换

    * { font-family: PingFang, Monaco } JS里的六大简单数据类型 string 字符类型 number 数字类型 boolean 布尔类型 symbol ES6语法新增 ...

  7. PHP中的__toString方法(实现JS里的链式操作)

    _toString方法是在打印对象时自动调用的魔术方法,如果不声明会报以下错 Catchable fatal error: Object of class String could not be co ...

  8. 理解 Node.js 里的 process.nextTick()

    有很多人对Node.js里process.nextTick()的用法感到不理解,下面我们就来看一下process.nextTick()到底是什么,该如何使用. Node.js是单线程的,除了系统IO之 ...

  9. chart.js 里添加图表的清单:

    chart.js 里添加图表的清单: var legend = myDoughnut.generateLegend(); $("#chart_legend").html(legen ...

随机推荐

  1. mysql中find_in_set的使用

    首先举个例子来说: 有个文章表里面有个type字段,它存储的是文章类型,有 1头条.2推荐.3热点.4图文等等 .现在有篇文章他既是头条,又是热点,还是图文,type中以 1,3,4 的格式存储.那我 ...

  2. 一对一关联模型,HAS_ONE

    class UserModel extends RelationModel{ protected $_link = array( 'Profile'=> HAS_ONE, //就这一行就行了 ) ...

  3. 安卓demo

    https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/README-CN.md

  4. OpenDialog文件多选

    procedure TForm1.OpenFileListClick(Sender: TObject); var openDialog: TOpenDialog; I: Integer; begin ...

  5. Spring Cloud微服务架构图

  6. Oracle 11g R2性能优化 SQL TRACE

    作为Oracle官方自带的一种基本性能诊断工具,SQL Trace可以用来评估当前正在运行的SQL语句的效率,同时为该语句生成统计信息等,并保存这些信息到指定路径下的跟踪文件(trace)当中.SQL ...

  7. ubuntu下zip文件操作

    转自 https://blog.csdn.net/hpu11/article/details/71524013 .zip $ zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹 ...

  8. Windows 10,鼠标右键-发送到-桌面快捷方式缺失解决方法

    1-双击“我的电脑”. 进到这里 2-路径框修改为“shell:Sendto”,回车. 3-把“桌面快捷方式”黏贴到Sendto文件夹下

  9. redis----------linux和mac如何安装redis和启动,关闭

    1.打开官网https://redis.io/download.官网有安装命令 2.以下是我的执行过程截图 执行完官网给的命令以后,再执行  make PREFIX=/usr/local/redis ...

  10. js常用的400个特效

    JavaScript实现可以完全自由拖拽的效果,带三个范例     http://www.sharejs.com/showdetails-501.aspx javascript实现可以自由拖动的树形列 ...