我爱撸码,撸码使我感到快乐!
大家好,我是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. Cmake用法

    目录 1,Cmake introduce 1.1 常用的目录结构 2,CMakeLists.txt文件的写法 Cmake 常用命令 Scripting Commands set include Pro ...

  2. spark-sql缩减版样例:获取每日top3搜索词和各自的次数,包括总次数

    //获取出每天前3的搜索词 ArrayList<String> log = new ArrayList<String>(); log.add("2015-10-01, ...

  3. xmanager 开启X11转发失败问题解决

    安装相关rpm包 yum -y install xorg-x11-xauth xorg-x11-utils xorg-x11-fonts-* yum install dejavu-lgc-sans-f ...

  4. kubernetes安装

    本文主要参考自: https://blog.csdn.net/real_myth/article/details/78719244 还有一份更适合在生产环境使用的超强高可用(多master,nginx ...

  5. spring-boot logback配置

    接着上篇的代码,日志在不同环境下的配置也不一样,所以要分开配置,主要使用maven的profile 1.1 在pom.xml中添加 <profiles> <profile> & ...

  6. 【Python】This inspection detects names that should resolve but don't. Due to dynamic dispatch and duck

    情况一:导包import时发生错误,请参考这两位 https://blog.csdn.net/zhangyu4863/article/details/80212068https://www.cnblo ...

  7. stm32_ADC定时器采样(DMA均值处理数据)

    在有些要求高的场合,需要用到定时器采样.本人在网上没找到合适的源码,于是将自己的思路分享出来,欢迎大家提出意见. 确定ADC采用的通道对应的通道 确定采样对应的引脚(这个在规格书的引脚定义部分可以找到 ...

  8. C语言实现迷宫小游戏

    代码如下,时间太晚,有空补注释: #include<stdio.h> #include<string.h> #include<time.h> #include< ...

  9. 记录心得-shiro框架demo示例

    从懵懂到了解,再到熟悉,是一个进步的过程! 先撸代码,跑起来看效果,再做详细的介绍,开始干活! 1,先列出工程目录结构,自己需要创建对应层级的程序和相关配置文件. 2,导入maven依赖的jar包.打 ...

  10. Centos7 安装redis

    1.下载redis安装包 wget http://download.redis.io/releases/redis-4.0.9.tar.gz 2.检查及下载gcc gcc -v yum -y inst ...