正则表达式,js里的正则应用
我爱撸码,撸码使我感到快乐!
大家好,我是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里的正则应用的更多相关文章
- 微信小程序 引用其他js里的方法
微信小程序中,在微信官方开发文档我们可以知道 小程序的目录结构 . 一个小程序页面由四个文件组成,一个小程序页面的四个文件具有相同路径与文件名,由此我们可知一个小程序页面对应着一个跟页面同名的js文件 ...
- [js笔记整理]正则篇
一.正则基本概念 1.一种规则.模式 2.强大的字符串匹配工具 3.在js中常与字符串函数配合使用 二.js正则写法 正则在js中以正则对象存在: (1)var re=new RegExp(正则表达式 ...
- 【微信小程序】 引用公共js里的方法
一个小程序页面由四个文件组成,一个小程序页面的四个文件具有相同路径与文件名,由此我们可知一个小程序页面对应着一个跟页面同名的js文件.可是当有些公共方法,我们想抽离出来成为一个独立公共的js文件.我们 ...
- JS中的正则应用
如果还未掌握正则基础知识可先看另一篇:正则笔记-忘记就来看 创建方法: 直接量语法:/pattern/attributes 创建 RegExp 对象的语法:new RegExp(pattern, at ...
- js进阶js中支持正则的四个常用字符串函数(search march replace split)
js进阶js中支持正则的四个常用字符串函数(search march replace split) 一.总结 代码中详细四个函数的用法 search march replace split 二.js进 ...
- JS里默认和常用转换
* { font-family: PingFang, Monaco } JS里的六大简单数据类型 string 字符类型 number 数字类型 boolean 布尔类型 symbol ES6语法新增 ...
- PHP中的__toString方法(实现JS里的链式操作)
_toString方法是在打印对象时自动调用的魔术方法,如果不声明会报以下错 Catchable fatal error: Object of class String could not be co ...
- 理解 Node.js 里的 process.nextTick()
有很多人对Node.js里process.nextTick()的用法感到不理解,下面我们就来看一下process.nextTick()到底是什么,该如何使用. Node.js是单线程的,除了系统IO之 ...
- chart.js 里添加图表的清单:
chart.js 里添加图表的清单: var legend = myDoughnut.generateLegend(); $("#chart_legend").html(legen ...
随机推荐
- 学习ActiveMQ(八):activemq消息的持久化
1. 持久化方式介绍前面我们也简单提到了activemq提供的插件式的消息存储,在这里再提一下,主要有以下几种方式: AMQ消息存储-基于文件的存储方式,是activemq开始的版本默认的消息存储方式 ...
- python中一个py文件如何调用其他py文件中的类和函数
HelloWorld 文件名称 Hello是类 from HelloWorld import Hello >>> h = Hello() >>> h.hello ...
- 《HTTP - 跨域》
本文参考 HTTP访问控制(CORS) 一:什么是跨域? - 所谓跨域, 是浏览器为了保护网站安全而建立的一种保护策略,既浏览器的同源策略. - 意味着使用这些API的Web应用程序只能从加载应用程序 ...
- 【托业】【怪兽】TEST03
101. engage [ɪnˈgeɪdʒ] v.参与 102. toner [ˈtəʊnə(r)]n.碳粉匣 103. surveillance [sɜ:ˈveɪləns]n.监控 105. i ...
- T-SQL语言基础(2)之SQL Server体系结构
SQL Server 体系结构 SQL Server 实例 SQL Server 实例是指安装的一个 SQL Server 数据库引擎/服务.在同一台计算机上可以安装 SQL Server 的多个实例 ...
- spy-debugger 安装以及使用
参考链接:https://github.com/wuchangming/spy-debugger
- JMeter-性能测试监控(解决.sh文件的启动)
下载插件 https://jmeter-plugins.org/downloads/old/ 已安装了jmeter-plugins-manager,装的这个不知道生没生效.... 2.问题:启动就显示 ...
- 面试 Java 高级后端开发,要准备哪些知识点?
其实公司肯花时间让你去面试,前提条件一定是通过你的简历,一定发现了你和公司的匹配点,也就是说,一定是有录用意向的. 在技术面试的时间段里(最长1个小时),你如果能展现你的优势那是最好的,但如果你做不到 ...
- MongoDB下,启动服务时,出现“服务没有响应控制功能”解决方法
摘要:https://www.cnblogs.com/luoguixin/p/6291408.html 欢迎转载,若需转载请标明出处:https://www.cnblogs.com/luoguixin ...
- Linux 常用命令,处理端口和Tomcat,mysql
查看端口占用 1.lsof -i:端口号 2.netstat -tunlp|grep 端口号 都可以查看指定端口被哪个进程占用的情况 kill -9 进程号 强制结束进程 启动 1.使用 ser ...