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.mzph.cn/news/72755.shtml

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

相关文章

【教程】安防监控/视频存储/视频汇聚平台EasyCVR接入智能分析网关V4的操作步骤

TSINGSEE青犀AI边缘计算网关硬件 —— 智能分析网关目前有5个版本&#xff1a;V1、V2、V3、V4、V5&#xff0c;每个版本都能实现对监控视频的智能识别和分析&#xff0c;支持抓拍、记录、告警等&#xff0c;每个版本在算法模型及性能配置上略有不同。硬件可实现的AI检测包括&am…

1987-2021年全国31省专利申请数和授权数

1987-2021年全国31省国内三种专利申请数和授权数 1、时间&#xff1a;1987-2021年 2、来源&#xff1a;整理自国家统计局、科技统计年鉴、各省年鉴 3、范围&#xff1a;31省市 4、指标&#xff1a;国内专利申请受理量、国内发明专利申请受理量、国内实用新型专利申请受理量…

Java“牵手”阿里巴巴商品详情数据,阿里巴巴商品详情API接口,阿里巴巴国际站API接口申请指南

阿里巴巴平台商品详情接口是开放平台提供的一种API接口&#xff0c;通过调用API接口&#xff0c;开发者可以获取阿里巴巴商品的标题、价格、库存、月销量、总销量、库存、详情描述、图片等详细信息 。 获取商品详情接口API是一种用于获取电商平台上商品详情数据的接口&#xf…

高频知识汇总 |【计算机网络】面试题汇总(万字长文通俗易懂)

我之前也已经在写了好几篇高频知识点汇总&#xff0c;简要介绍一下&#xff0c;有需要的同学可以点进去先收藏&#xff0c;之后用到时可以看一看。如果有帮助的话&#xff0c;希望大家给个赞&#xff0c;给个收藏&#xff01;有疑问的也可以在评论区留言讨论&#xff0c;能帮的…

WebStorm2023新版设置多个窗口,支持同时显示多个项目工程

调整设置 Appearance & Behavior -> System Settings> Project open project in New window&#xff1a;

数据结构之队列的实现(附源码)

目录 一、队列的概念及结构 二、队列的实现 拓展&#xff1a;循环队列 三、初学的队列以及栈和队列结合的练习题 一、队列的概念及结构 队列&#xff1a;只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性表&#xff0c;队列具有先进先出FIFO(Fi…

RabbitMQ:work结构

> 只需要在消费者端&#xff0c;添加Qos能力以及更改为手动ack即可让消费者&#xff0c;根据自己的能力去消费指定的消息&#xff0c;而不是默认情况下由RabbitMQ平均分配了&#xff0c;生产者不变&#xff0c;正常发布消息到默认的exchange > 消费者指定Qoa和手动ack …

uview 组件 u-form-item 点击事件

问题 click"showCalendar(false)"点击没反应 原因&#xff1a; 组件未定义此事件&#xff0c;可使用原生点击事件.native click.native"showCalendar()" <u-form-item label"开始时间" label-width"150" right-icon"arrow…

【C++】模拟实现二叉搜索树的增删查改功能

个人主页&#xff1a;&#x1f35d;在肯德基吃麻辣烫 我的gitee&#xff1a;C仓库 个人专栏&#xff1a;C专栏 文章目录 一、二叉搜索树的Insert操作&#xff08;非递归&#xff09;分析过程代码求解 二、二叉搜索树的Erase操作&#xff08;非递归&#xff09;分析过程代码求解…

电脑数据恢复软件都有哪些,哪个好用

当涉及到机房使用的系统还原软件时&#xff0c;选择一个强大且稳定的工具对于确保计算机系统的安全性和可靠性至关重要。以下是五款常见的系统还原软件&#xff0c;它们具有出色的功能和性能&#xff0c;以满足不同用户的需求&#xff0c;大家可根据自己的需求来选择。 云顷还…

MySQL的概述、版本、安装过程

作者&#xff1a;Insist-- 个人主页&#xff1a;insist--个人主页 作者会持续更新网络知识和python基础知识&#xff0c;期待你的关注 目录 一、MySQL的概述 二、MySQL的版本 三、MySQL的下载与安装 前言 本文将来谈谈MySQL的概述&#xff0c;MySQL的版本&#xff0c;以及它…

4.3.3.1 【MySQL】CHAR(M)列的存储格式

我们知道 Compact 行格式在 CHAR(M) 类型的列中存储数据的时候还挺麻烦&#xff0c;分变长字符集和定长字符集的情况&#xff0c;而在 Redundant 行格式中十分干脆&#xff0c;不管该列使用的字符集是啥&#xff0c;只要是使用 CHAR(M) 类型&#xff0c;占用的真实数据空间就是…

论文简读 LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS

论文地址&#xff1a;https://arxiv.org/pdf/2106.09685.pdf 项目地址&#xff1a;https://github.com/microsoft/LoRA 全文翻译地址&#xff1a;https://zhuanlan.zhihu.com/p/611557340 本来想自行翻译的&#xff0c;但最近没有空 1、关键凝练 1.1 LORA是什么&#xff1f; …

sentinel熔断报java.lang.reflect.UndeclaredThrowableException

背景&#xff1a;内部要进行应用jdk&springboot升级&#xff0c;因此也需要将Spring Cloud Hystrix 替换成alibaba sentinel。 依赖 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</a…

异步编程 - 12 异步、基于事件驱动的网络编程框架 Netty

文章目录 Netty概述Netty中的一些概念Netty的线程模型Netty Server端Netty Netty 端 TCP半包与粘包问题基于Netty与CompletableFuture实现RPC异步调用 Netty概述 Netty是一个异步、基于事件驱动的网络应用程序框架&#xff0c;其对Java NIO进行了封装&#xff0c;大大简化了TC…

阿里云云主机免费试用三个月

试用链接如下&#xff1a; 阿里云云产品免费试用 云主机 费用试用三个月&#xff0c;每月750小时 实例规格 1核(vCPU) 2 GiB S6 系列机型 适用搭建网站等场景 网络带宽 1M 公网固定网络带宽 云盘40 GiB 真香&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&…

促科技创新:高德数据优化篇之OceanBase最佳实践

本文作者&#xff1a; 振飞&#xff08;高德地图总裁&#xff09; 炳蔚&#xff08;高德技术服务平台负责人&#xff09; 福辰&#xff08;高德服务端架构师&#xff09; 背景 高德成立于2002年&#xff0c;是中国领先的移动数字地图、导航及实时交通信息服务提供商&#xff0c…

04、javascript 修改对象中原有的属性值、修改对象中原有属性的名字(两种方式)、添加对象中新属性等的操作

1、修改对象中原有的属性值 其一、代码为&#xff1a; // 想将 obj 中的 flag 值&#xff0c;根据不同的值来变化(即&#xff1a;修改对象中原有的属性值)&#xff1b; let obj {"port": "port_0","desc": "desc_0","flag&quo…

qt作业day2

//widget.cpp#include "widget.h" #include "ui_widget.h"void Widget::usr_login() {if("admin" this->edit_acc->text()){if("123456" this->edit_psd->text()){speech->say("登录成功");emit jump_sig1…

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书南京财经大学图书馆

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书南京财经大学图书馆