JavaScript基础&实战 JS中正则表达式的使用
1、正则表达式

1.1 代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>正则表达式</title>
<style type="text/css"> </style>
<script type="text/javascript">
/*
正则表达式用于一些字符串的规则
计算机可以根据正则表达式,来检查一个字符串是否符合规则
获取将字符串中符合规则的内容提取出来
//创建正则表达式的对象
语法:
var 变量 = new RegExp("正则表达式","匹配模式");
使用typeof检查正则对象,返回object
匹配模式:
i 执行对大小写不敏感的匹配。
g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m 执行多行匹配。
正则表达式的方法:
test()
使用这个方法可以用来检查一个字符串是否符合正则表达式的规则,
如果符合则返回true,否则返回false
*/
var reg = new RegExp("a","i");
console.log(reg.test("A"))
/*
使用字面量创建正则表达式
语法: var 变量 =/正则表达式/匹配模式
[]里边的内容也是或的意思
[abc] 查找方括号之间的任何字符。
[^abc] 查找任何不在方括号之间的字符。
[0-9] 查找任何从 0 至 9 的数字。
[a-z] 查找任何从小写 a 到小写 z 的字符。
[A-Z] 查找任何从大写 A 到大写 Z 的字符。
[A-z] 查找任何从大写 A 到小写 z 的字符。
*/
var reg =/a/i;
console.log(reg.test("a"));
// 使用| 表示或的意思
reg =/a|b|c/;
console.log(reg.test("adggg"));
reg = /[afcd]/;
console.log(reg.test("aerwf"));
reg = /[a-z]/g;
console.log(reg.test("f"));
// 检查一个字符串中是否含有abc或adc或aec
reg = /a[bdc]c/g;
console.log(reg.test("adc"));
</script>
</head>
<body>
</body>
</html>
1.2 测试结果

2、splict | search





2.1 代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>标题</title>
<style type="text/css"> </style>
<script type="text/javascript">
/*
split()
可以将一个字符串拆分为一个数组
- 方法中可以传递一个正则表达式作为参数,这样方法将会根据正则表达式去拆分字符串
*/
// 可以根据任意字母来将字符串拆分
var str = "1a3d5d6g3b7x3c9";
var result = str.split(/[A-z]/);
console.log(result);
/*
search()
- 可以搜索字符串中是否有指定内容
- 如果搜索到指定内容,则会返回第一次出现的索引,如果没有搜索到返回-1
*/
var str1 = "Hello adc JS afc I am your father abc !!!!";
var result1 = str1.search("JSw");
var result2 = str1.search(/a[abc]c/);
console.log(result2);
console.log(result1);
/*
match()
- 可以根据正则表达式,从一个字符串中将符合条件的内容提取出来
- 默认的情况下我们的match只会找到第一个符合要求的内容,找到以后就停止检索
可以设置正则表达式为全局匹配模式,这样就会匹配到所有的内容
可以为一个正则表达式设置多个匹配模式,且顺序无所谓
- mathc() 会将匹配到的内容封装到一个数组中返回,即使只查到一个结果
*/
var str1 = "Hello234 adc JS af6789c I am y555our fathe9999r abc !!!!";
result = str1.match(/[a-z]/gi);
console.log(result);
/*
replace()
- 可以将字符串中指定内容替换为新的内容
- 参数:
1、被替换的内容
2、新的内容
默认替换第一个
*/
var str1 = "Hello234 adc JS af6789c I am y555our fathe9999r abc !!!!";
result = str1.replace(/[a]/g,"@@");
console.log(result);
result2 = str1.replace(/[A-z]/g,"");
console.log(result2);
</script>
</head>
<body>
</body>
</html>
2.2 测试结果

JavaScript基础&实战 JS中正则表达式的使用的更多相关文章
- 【JavaScript基础】Js的定时器(你想看的原理也在哟)
[JavaScript基础]Js的定时器(你想看的原理也在哟) 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 说明 本章是经历 ...
- JavaScript学习12 JS中定义对象的几种方式
JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工 ...
- js课程 4-12 js中正则表达式如何使用
js课程 4-12 js中正则表达式如何使用 一.总结 一句话总结: 1.js正则表达式手册取哪里找? w3cschool或者菜鸟教程->找到js正则表达式->完整的RegExp参考手册这 ...
- JavaScript基础&实战(2)js中的强制类型转换、运算符、关系运算符、逻辑运算符、条件运算符
文章目录 1.强制类型转换Number 1.1 代码 1.2 测试结果 2.进制表示 2.1 代码 2.2 测试结果 3.强制类型转换为Boolea 3.1 代码 3.2 测试结果 4.运算符 4.1 ...
- JavaScript基础&实战(5)js中的数组、forEach遍历、Date对象、Math、String对象
文章目录 1.工厂方法创建对象 1.1 代码块 1.2.测试结果 2.原型对象 2.1 代码 2.2 测试结果 3.toString 3.1 代码 3.2 测试结果 4.数组 4.1 代码 5.字面量 ...
- JavaScript基础&实战(4)js中的对象、函数、全局作用域和局部作用域
文章目录 1.对象的简介 2.对象的基本操作 2.1 代码 2.2 测试结果 3.属性和属性值 3.1 代码 3.2 测试结果 4.对象的方法 4.1 代码 4.2 测试结果 5.对象字面量 5.1 ...
- JavaScript基础&实战(3)js中的流程控制语句、条件分支语句、for循环、while循环
文章目录 1.流程控制语句 1.1 代码 1.2 测试结果 2.弹窗提示输入内容 2.1 代码 2.2 测试结果 3.条件分支语句 3.1 代码 3.2 测试结果 4.while和 do...whil ...
- JavaScript 基础——使用js的三种方式,js中的变量,js中的输出语句,js中的运算符;js中的分支结构
JavaScript 1.是什么:基于浏览器 基于(面向)对象 事件驱动 脚本语言 2.作用:表单验证,减轻服务器压力 添加野面动画效果 动态更改页面内容 Ajax网络请求 () 3.组成部分:ECM ...
- JavaScript面向对象(一)——JS OOP基础与JS 中This指向详解
前 言 JRedu 学过程序语言的都知道,我们的程序语言进化是从"面向机器".到"面向过程".再到"面向对象"一步步的发展而来.类似于 ...
随机推荐
- 万答#3,MGR最佳配置参考,PFS里的监测指标要全开吗,mysqld进程占用内存过高怎么排查
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 问题1,有推荐的MGR运行最佳配置参考吗 在「3306π」社区广州站5月22日的分享会上,万里数据库CTO娄帅给出了他建议 ...
- Apache DolphinScheduler&ShenYu(Incubating) 联合 Meetup,暖春 3 月与你相约!
云霞出海曙,梅柳渡江春. 2022 年的早春在疫情中显得格外生机勃勃,虽然接下来寒流仍有可能造访国内部分地区,但开源的世界,早已热闹非凡! 2022 年 3 月 26 日(星期六), Apache D ...
- 解决 idea无法下载源码 Sources not found for:XXX
解决 idea无法下载源码 Sources not found for:XXX 命令行输入 mvn dependency:resolve -Dclassifier=sources 参考 https:/ ...
- LuoguP1922 女仆咖啡厅桌游吧 (树形动态规划)
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> ...
- 开源图编辑库 NebulaGraph VEditor 的设计思路分享
本文首发于 NebulaGraph 公众号 NebulaGraph VEditor 是一个拥有高性能.高可定制的所见即所得图可视化编辑器前端库. NebulaGraph VEditor 底层基于 SV ...
- docker的volume和bind mount究竟有什么区别?
不知道你在使用docker的时候,有没有注意到volume mount和bind mount的使用? 进一步说,他们之间的区别到底是什么? 接下来的内容,我们就为你揭开他们的神秘面纱. 相同之处 首先 ...
- qt调用quit()后未结束线程解决方案
正常操作 正常写Qt的多线程,需要继承QThread,然后重写run函数,调用start后,在run函数中实现子线程的运行,这个时候会开启事件循环,可以调用quit()函数来结束当前的线程. 其他操作 ...
- 第五十三篇:Vue安装Element ui
好家伙,之前写的一篇过时了,用不了了,更新一波 (已新建一个vue项目) 1. 在项目目录下执行:npm i element-ui -S 2. 在main.js中写入 import ElementUI ...
- KingbaseES 全局索引是否因为DDL操作而变为Unusable ?
前言 Oracle 在对分区做DDL操作时,会使分区全局索引失效,需要加上关键字update global indexes.KingbaseES 同样支持全局索引.那么,如果对分区表进行DDL操作,那 ...
- mysql_添加修改字段总结
Mysql 添加字段 例子 ALTER TABLE tt_transfer_container_pick_config ADD COLUMN container_pick_station VARCHA ...