JavaScript基础回顾知识点记录4-正则表达式篇(介绍基本使用)
- js 中 正则表达式使用
- 创建正则对象和test方法使用
/*
创建正则表达式的对象
语法: var 变量 = new RegExp("正则表达式","匹配模式") 或者 var 变量 = /正则表达式/
匹配模式: i:忽略大小写 。 g:全局匹配模式
*/
//var reg = new RegExp("a","i");
var reg = /a/i;
var str = "1A2d3f4g6h8"; // 正则表达式的方法: test() : 检查字符串是否符合正则表达式规则,符合返回true,否则返回false
console.log(reg.test(str)); //输出true
- 字符串和正则的相关方法
// split() 支持正则表达式匹配拆分字符串。该方法默认会走全局匹配。
var res = str.split(/[A-z]/);
console.log(res); //输出["1", "2", "3", "4", "6", "8"] // search() 搜索字符串中是否有指定内容,不能全局匹配,只能搜索第一个符合条件的位置
var str1 = "hello abc hello aec";
var res2 = str1.search(/a[be]c/);
console.log(res2); //输出6( 第一个匹配的abc的位置) /*
match() 根据正则表达式,从一个字符串中将符合条件的内容提取出来。
match默认只会找到第一个符合要求的内容,需要检索全部需要改为全局匹配模式,且可以设置多个匹配模式
匹配到的内容封装到数组中保存
*/
var str2 = "1a2b3c4d5e6f7C";
var res3 = str2.match(/[A-z]/gi); // gi表示全局匹配且不区分带小写
console.log(res3); //输出["a", "b", "c", "d", "e", "f", "C"] /*
replace() 将字符串指定内容替换成新的内容,默认只会替换第一个
第一个参数表示: 被替换的内容,可以用正则表达式
第二个参数表示: 新的内容(替换为""的话,就是删除匹配的元素)
*/
var str3 = "1a2a3a4a5a";
var res4 = str3.replace("a","@@@");
var res5 = str3.replace(/a/gi,"@@@");
var res6 = str3.replace(/a/gi,"");
console.log(res4); //输出1@@@2a3a4a5a
console.log(res5); //输出1@@@2@@@3@@@4@@@5@@@
console.log(res6); //12345
- 正则语法记录
- {n} 表示出现n次;{m,n} 出现m-n次;{m,} m次以上;表示至少一次
- *表示0个或多个;?表示0个或1个
- ^表示开头;$表示结尾
- .表示任意字符
- \表示转义字符;比如查询是否含有. 则写为 /\./
- 构造函数定义正则使用转义字符\ 需要注意:var reg = new RegExp("\\.","i"); 等价于 var reg = /\./;
- 其他语法不多讲,有需要可以去翻手册
- 小练习:检测手机号码合法性
/*
检查手机号是否合法:1开头,第二位3-9任意数,三位之后任意数9个
*/
var phone = "13583404829";
var reg2 = /^1[3-9][0-9]{9}$/;
console.log(reg2.test(phone)); //输出true
- 创建正则对象和test方法使用
JavaScript基础回顾知识点记录4-正则表达式篇(介绍基本使用)的更多相关文章
- JavaScript基础回顾知识点记录6-操作元素样式和事件对象(介绍基本使用)
js 中 操作元素样式 通过js修改元素内联样式(设置和读取的都是内联样式) 获取当前元素显示的样式 <html> <head> <meta charset=" ...
- JavaScript基础回顾知识点记录2
js 使用嵌套for循环输出三角形 for(var i=0; i<5; i++){ //正三角 // for(var j=0; j<i+1; j++){ // document.write ...
- JavaScript基础回顾知识点记录3
js 中 垃圾回收 //将不在使用的对象设置为null , js就会自动进行垃圾回收机制 var obj = {}; obj = null; js 中 数组基本介绍 数组也是一个对象 与普通对象功能类 ...
- JavaScript基础回顾知识点记录1
js执行顺序为从上往下执行 js中有6种数据类型 基本数据类型为: String Number Boolean Null Undefined 引用数据类型为: Object 使用typeof 查看对象 ...
- Javascript基础回顾 之(三) 面向对象
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- Javascript基础回顾 之(二) 作用域
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- Javascript基础回顾 之(一) 类型
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- JavaScript 基础回顾——对象
JavaScript是基于对象的解释性语言,全部数据都是对象.在 JavaScript 中并没有 class 的概念,但是可以通过对象和类的模拟来实现面向对象编程. 1.对象 在JavaScript中 ...
- JavaScript基础插曲—元素样式,正则表达式,全局模式,提取数组
JavaScript基础学习 学习js的基础很重要,可以让自己有更多的技能.我相信这个以后就会用到. Eg:点击选择框,在div中显示出选择的数量 window.onload = function() ...
随机推荐
- 前端4BOM与DOM
内容概要 BOM操作(了解) DOM操作 DOM操作标签 获取值操作 属性操作 事件 -事件案例 内容详情 BOM操作(了解)
- CentOS8安装mysql8.0具体步骤
操作系统:CentOS Linux release 8.0及以上 Mysql版本:Mysql 8.0.22 x86_64 (MySQL Community Server - GPL) Mysql8下载 ...
- Eureka服务下线太慢,电话被告警打爆了
某年某月的某一天,就像一张破碎的脸... 错了,重来. 某天,忽然发现大量的告警,经过多番调查研究考察(此处省略3000字),发现是由于 Eureka 服务下线太慢,而仍然有大量的请求打进来导致的报错 ...
- 使用 KubeKey 搭建 Kubernetes/KubeSphere 环境的"心路(累)历程"
目录 今天要干嘛? 在哪里干? 从哪里开始干? 快速开干! 解决依赖问题再继续干! 如何干翻重来? 连着 KubeSphere 一起干! 干不过,输了. 重整旗鼓,继续干! 再次重整旗鼓,继续干! 一 ...
- 【Azure 应用服务】NodeJS Express + MSAL 实现API应用Token认证(AAD OAuth2 idToken)的认证实验 -- passport.authenticate('oauth-bearer', {session: false})
问题描述 在前两篇博文中,对NodeJS Express应用 使用MSAL + AAD实现用户登录并获取用户信息,获取Authorization信息 ( ID Token, Access Token) ...
- 超详细干货!Docker+PXC+Haproxy搭建高可用强一致性的MySQL集群
前言 干货又来了,全程无废话,可先看目录了解. MySQL搭建集群最常见的是binlog方式,但还有一种方式是强一致性的,能保证集群节点的数据一定能够同步成功,这种方式就是pxc,本篇就使用图文方式一 ...
- ssh-基于ssh的文件传输
scp 基于ssh做Linux主机间的文件传输 scp 文件路径 用户名@被传输的主机名/IP:文件要存放的路径 scp /etc/fstab root@10.0.0.2:/t ...
- 如何用python做出老师看了都给满分的GUI学生管理系统毕设
序 言 哈喽大家好鸭!我是小熊猫 最近有什么有趣的事情发生吗?快来说给我听听( •̀ ω •́ )✧表弟大学快毕业了,学了一个学期Python居然还不会写学生管理系统,真的给我丢脸啊,教他又不肯学,还 ...
- Future源码一观-JUC系列
背景介绍 在程序中,主线程启动一个子线程进行异步计算,主线程是不阻塞继续执行的,这点看起来是非常自然的,都已经选择启动子线程去异步执行了,主线程如果是阻塞的话,那还不如主线程自己去执行不就好了.那会不 ...
- 基于Vue3SSR渲染作品H5页
回顾 多项目之间的关系 业务组件sqxy-components为何要单独抽离出来? 整体思路 根据 id uuid来获取思路 判断 status(未发布,强制下线) 作品数据+leogo-cpmpon ...