WEB APIs day6

在这里插入图片描述在这里插入图片描述

一、正则表达式

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
RegExp是正则表达式的意思
在这里插入图片描述在这里插入图片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>正则表达式的使用</title>
</head><body><script>const str = '我们在学习前端,希望学习前端能高薪毕业'// 正则表达式使用:// 1. 定义规则const reg = /前端/// const reg = /java/// 2. 是否匹配 test()// 这个字符串里面有没有前端两个字// console.log(reg.test(str))    // true/false  重点记住这种方法即可// 3. exec()console.log(reg.exec(str))   //  返回数组</script>
</body></html>

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
1-9占一位,{ }只是重复前面出现的次数,它不会重复1-9,它重复的次数一定是离他最近的一个,所以它重复4次,一加就是5次以上了,10000正好是5次
在这里插入图片描述在这里插入图片描述在这里插入图片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>元字符</title>
</head><body><script>// 元字符// 前面定义规则,后面来检测符合规则/*  console.log(/哈/.test('哈'))     // trueconsole.log(/哈/.test('哈哈'))   //trueconsole.log(/哈/.test('二哈'))   //trueconsole.log('---------------------')// 1. 边界符console.log(/^哈/.test('哈'))     // trueconsole.log(/^哈/.test('哈哈'))     // trueconsole.log(/^哈/.test('二哈'))     // false// 除了匹配开头还有匹配结尾,平时开发中我们一般都写,因为精确匹配console.log(/^哈$/.test('哈'))     // trueconsole.log(/^哈$/.test('哈哈'))     // falseconsole.log(/^哈$/.test('二哈'))     // falseconsole.log('--------------------') */// 量词 * 类似 >=0 次// 出现几次没关系,只要是以同一个哈开头以同一个哈结尾/* console.log(/^哈$/.test('哈'))     // trueconsole.log(/^哈*$/.test(''))     // trueconsole.log(/^哈*$/.test('哈'))     // trueconsole.log(/^哈*$/.test('哈哈'))     // trueconsole.log(/^哈*$/.test('二哈很傻'))     // falseconsole.log(/^哈*$/.test('哈很傻'))     // falseconsole.log(/^哈*$/.test('哈很哈'))     // falseconsole.log('--------------------') */// 量词 + 类似 >=1 次/*  console.log(/^哈+$/.test(''))     // falseconsole.log(/^哈+$/.test('哈'))     // trueconsole.log(/^哈+$/.test('哈哈'))     // trueconsole.log(/^哈+$/.test('二哈很傻'))     // falseconsole.log(/^哈+$/.test('哈很傻'))     // falseconsole.log(/^哈+$/.test('哈很哈'))     // falseconsole.log('--------------------') *//*  console.log('--------------------')// 量词 ? 类似 0 || 1console.log(/^哈?$/.test(''))    // trueconsole.log(/^哈?$/.test('哈'))    // trueconsole.log(/^哈?$/.test('哈哈'))    // falseconsole.log(/^哈?$/.test('二哈很傻'))    // falseconsole.log(/^哈?$/.test('哈很傻'))    // falseconsole.log(/^哈?$/.test('哈很哈'))    // falseconsole.log('--------------------') *//*  // 量词 {n} 写几,就必须出现几次console.log(/^哈{4}$/.test('哈'))console.log(/^哈{4}$/.test('哈哈'))console.log(/^哈{4}$/.test('哈哈哈'))console.log(/^哈{4}$/.test('哈哈哈哈'))   // true ,其它几个全是falseconsole.log(/^哈{4}$/.test('哈哈哈哈哈'))console.log(/^哈{4}$/.test('哈哈哈哈哈哈'))console.log('--------------------') */// 量词 {n,}  >=nconsole.log(/^哈{4,}$/.test('哈'))console.log(/^哈{4,}$/.test('哈哈'))console.log(/^哈{4,}$/.test('哈哈哈'))console.log(/^哈{4,}$/.test('哈哈哈哈'))    // >=4的都为trueconsole.log(/^哈{4,}$/.test('哈哈哈哈哈'))console.log(/^哈{4,}$/.test('哈哈哈哈哈哈'))console.log('--------------------')// 量词 {n,m}  逗号左右两侧千万不能有空格   >=n && <=mconsole.log(/^哈{4,6}$/.test('哈'))console.log(/^哈{4,6}$/.test('哈哈'))console.log(/^哈{4,6}$/.test('哈哈哈'))console.log(/^哈{4,6}$/.test('哈哈哈哈'))console.log(/^哈{4,6}$/.test('哈哈哈哈哈'))console.log(/^哈{4,6}$/.test('哈哈哈哈哈哈'))console.log(/^哈{4,6}$/.test('哈哈哈哈哈哈哈'))console.log('--------------------')// 字符类  [abc]  只选1个console.log(/^[abc]$/.test('a'))    //trueconsole.log(/^[abc]$/.test('ad'))    //falseconsole.log(/^[abc]$/.test('b'))    //trueconsole.log(/^[abc]$/.test('c'))    //trueconsole.log(/[abc]/.test('ab'))    //trueconsole.log(/^[abc]$/.test('ab'))    //false  因为是精确匹配console.log(/^[abc]{2}$/.test('ab'))    //trueconsole.log('--------------------')// 字符类  [a-z]   只选1个  多选一,只能出现一个不能出现2个 2个要加量词console.log(/^[a-z]$/.test('f'))    //trueconsole.log(/^[A-Z]$/.test('f'))    //falseconsole.log(/^[A-Z]$/.test('F'))    //trueconsole.log(/^[0-9]$/.test(2))    //trueconsole.log(/^[a-zA-Z0-9]$/.test(2))    //trueconsole.log(/^[a-zA-Z0-9]$/.test('p'))    //trueconsole.log(/^[a-zA-Z0-9]$/.test('P'))    //trueconsole.log('--------------------')</script>
</body></html>

在这里插入图片描述
短横线一定要写在最后面,因为写在中间表示范围,前面的a-z就是表示范围
在这里插入图片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>验证用户名案例</title><style>span {display: inline-block;width: 250px;height: 30px;vertical-align: middle;line-height: 30px;padding-left: 15px;}.error {color: red;background: url(./images/error1.png) no-repeat left center;}.right {color: green;background: url(./images/right.png) no-repeat left center;}</style>
</head><body><input type="text"><span></span><script>// 1. 准备正则// regexp正则表达式const reg = /^[a-zA-Z0-9-_]{6,16}$/const input = document.querySelector('input')// 因为太长了,所以可以调用一个类名const span = input.nextElementSibling// 失去焦点为false还是trueinput.addEventListener('blur', function () {// this也行,input也行// console.log(reg.test(this.value))if (reg.test(this.value)) {// span不用获取,因为span是input的下一个兄弟span.innerHTML = '输入正确'// 调用正确的类// span.classList.add('right')span.className = 'right'} else {span.innerHTML = '请输入6~16位的英文数字下划线'// 先输入一个正确的数据,再输入一个错误的数据,就会出现覆盖错误// 既有right类又有error类,添加了2个类,下面的就会覆盖上面的,所以error没有起效果,所以删除移除或者更简单一点className,因为className会覆盖类名,反正我们当前只能有一个类名,所以我们这样写就行了// span.classList.add('error')span.className = 'error'}})</script></body></html>

在这里插入图片描述在这里插入图片描述在这里插入图片描述
修饰符直接写在正则表达式后面
在这里插入图片描述在这里插入图片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>正则修饰符</title>
</head><body><script>console.log(/^java$/.test('java'))console.log(/^java$/.test('JAVA'))// 加上i,匹配的时候不区分大小写console.log(/^java$/i.test('JAVA'))// vscode里面ctrl+h是查找替换,有替换一个和全部替换const str = 'java是一门编程语言,学完JAVA工资很高哦'// str.replace(/java/i, '前端')const re = str.replace(/java/ig, '前端')// 没有被替换掉,str得到的还是原先的字符串,这时候我们就考虑它替换完之后有一个返回值,所以就不是打印str// 发现只有第一个java被替换掉了,我们这种查找替换只能查找一个,但我们要的是全局替换,ig或者gi都可以,只要写上2个,意思就是不但不区分大小写而且还全局替换// js中的或是||,而正则里面的或是|// 这样也能替换掉// const re = str.replace(/java|JAVA/g, '前端')console.log(re)</script>
</body></html>

在这里插入图片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>过滤敏感词</title>
</head><body><textarea name="" id="" cols="30" rows="10"></textarea><button>发布</button><div></div><script>// 其实也可以把中间选出来(button),上一个兄弟下一个兄弟,介于nextElementSibling也挺长,所以还是获取吧const tx = document.querySelector('textarea')const btn = document.querySelector('button')const div = document.querySelector('div')btn.addEventListener('click', function () {// console.log(tx.value)// div.innerHTML = tx.value// 过滤一下,做一个替换div.innerHTML = tx.value.replace(/怪力乱神|玄乎的事/g, '****')// 可以把表单清空,当它填充完之后,让它的tx.value = 空 即可tx.value = ''})</script>
</body></html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/102464.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用less实现多主题切换(配合天气现象)

1. 先看效果&#xff1a; 2. 话不多说直接撸吧&#xff1a; 原理&#xff1a;先给body元素添加style&#xff0c;再根据天气现象动态更改style 开撸&#xff1a; 创建src/assets/style/variables.less 使用 XXX:var(–XXX,‘style’) 声明系列变量&#xff0c;之后添加其他变…

微服务01-基本介绍+注册中心EureKa

基本介绍 服务集群&#xff1a;一个请求由多个服务完成&#xff0c;服务接口暴露&#xff0c;以便于相互调用&#xff1b; 注册中心&#xff1a;每个服务的状态&#xff0c;需要进行维护&#xff0c;我们可以在注册中心进行监控维护服务&#xff1b; 配置中心&#xff1a;这些…

自动化测试开发 —— 如何封装自动化测试框架?

封装自动化测试框架&#xff0c;测试人员不用关注框架的底层实现&#xff0c;根据指定的规则进行测试用例的创建、执行即可&#xff0c;这样就降低了自动化测试门槛&#xff0c;能解放出更多的人力去做更深入的测试工作。本篇文章就来介绍下&#xff0c;如何封装自动化测试框架…

Wireshark抓包常用指令

1.常用过滤规则 指定源地址&#xff1a; ip.src 10.0.1.123ip.src 10.0.1.123 && udphttp数据链路层&#xff1a;筛选mac地址为04:f9:38:ad:13:26的数据包----eth.src 04:f9:38:ad:13:26筛选源mac地址为04:f9:38:ad:13:26的数据包----eth.src 04:f9:38:ad:13:26网…

图片怎么转换成pdf格式?好方法必须分享

图片怎么转换成pdf格式&#xff1f;也许一些朋友会问&#xff0c;为什么要将图片转换成PDF文件呢&#xff1f;众所周知&#xff0c;PDF文件格式具有较高的安全性和兼容性&#xff0c;并且不容易编辑。因此&#xff0c;在打印时&#xff0c;将图片转换成PDF格式后再进行打印可以…

postgis数据库导出csv表再导入postgis

1、导出csv表 from settings_Address import * from sqlalchemy import create_engine, MetaData import pandas as pd def create_conn(Postgis_user,Postgis_password,Postgis_host,Postgis_port,dbname_PG):# return create_engine(PostgispyPostgis://{}:{}{}:{}/{}.forma…

云端AI:释放企业创新力,打造智慧企业

文章目录 1. 云端AI的基本概念1.1 云计算1.2 人工智能1.3 云端AI 2. 云端AI的重要性2.1 成本效益2.2 弹性扩展2.3 无缝整合2.4 实时更新 3. 云端AI的应用领域3.1 智能客服3.2 预测分析3.3 自动化生产 4. 云端AI的未来趋势4.1 边缘计算与云端AI的融合4.2 可解释性AI4.3 隐私和安…

android studio 的 adb配置

首先在 Android Studio 中 打开 File -> Settings: 下载 “Google USB Driver” 这个插件 (真机调试的时候要用到), 并且记一下上面的SDK路径: 右键桌面上的 “我的电脑”, 点击 “高级系统设置”, 配置计算机的高级属性, 有两步: 添加一个新的环境变量 ANDROID_HOME, 变量…

2023年数学建模国赛A 定日镜场的优化设计思路分析

构建以新能源为主体的新型电力系统&#xff0c;是我国实现“碳达峰”“碳中和”目标的一项重要措施。塔式太阳能光热发电是一种低碳环保的新型清洁能源技术[1]。定日镜是塔式太阳能光热发电站&#xff08;以下简称塔式电站&#xff09;收集太阳能的基本组件&#xff0c;其底座由…

解决windows下git操作提示用户名密码错误的问题

当代码从一个平台切换到另一个平台的时候&#xff0c;需要做两步操作&#xff0c;第一步就是更新git的仓库地址&#xff0c;在项目的.git/config文件里面修改&#xff0c;这一步做完之后&#xff0c;就可以推送代码到新的仓库了&#xff0c;这里就是重点来了。 一般第一次推动代…

手机无人直播软件在苹果iOS系统中能使用吗?

在现代社交媒体的时代&#xff0c;直播带货已经成为了一种热门的销售途径。通过直播&#xff0c;人们可以远程分享自己的商品&#xff0c;与观众进行互动&#xff0c;增强沟通和参与感。而如今&#xff0c;手机无人直播软件更是成为了直播带货领域的一项火爆的技术。那么&#…