【前端】JavaScript入门及实战86-90

文章目录

  • 86 正则表达式
  • 87 字符串和正则相关的方法
  • 88 正则表达式语法(1)
  • 89 正则表达式语法(2)
  • 90 邮件的正则

86 正则表达式

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset = "utf-8">
<script type="text/javascript">/*使用字面量来创建正则表达式语法:var 变量 = /正则表达式/匹配模式使用字面量的方式创建更加简单,但是使用构造函数创建的更加灵活			  */var reg = new RegExp("a", "i"); // "a" / "A"var reg = /a/i;// 创建一个正则表达式,检查一个字符串中是否有a或b/*使用|表示或者的意思*/res = /a|b|c/;/*创建一个正则表达式检查一个字符串中是否有字母*/console.log(res.test("abds"));/*[]里的内容也是或的关系[ab] == a|b[a-z]:任意小写字母[A-Z]:任意大写字母[A-z]:任意字母[0-9]:任意数字*/reg = /[abcdshjk]/;reg = /[a-z]/;reg = /[A-Z]/;reg = /[A-Z]/i; // 忽略大小写reg = /[A-z]/;// 检查一个字符串中是否含有abc或adc或aecreg = /abc|adc|aec/;rsg = /a[bde]c/;/*[^]除了*/rsg = /[^ab]/;rsg = /[^abc]/; // truersg = /[^0-9]/; // 除了数字
</script>
<style>
</style>
</head>
<body>
</body>
</html>

87 字符串和正则相关的方法

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset = "utf-8">
<script type="text/javascript">var str = "1a2b3c4d5e6f7";/*split():将字符串拆分为一个数组方法中可以传递一个正则表达式作为参数,这样方法将会根据正则表达式去拆分字符串这个方法即使不指定全局匹配,也会全部拆分*/var res = str.split("c");/*根据任意字母将字符串拆分*/res = str.split(/[A-z]/); // 1, 2, 3, 4, 5, 6, 7/*search():可以搜索字符串中是否含有指定内容,如果搜索到指定内容,则会返回第一次出现的索引,如果没有搜索到返回-1,他可以接受一个正则表达式作为参数,然后会根据正则表达式去检索字符串search()只会查找第一个,即使设置全局匹配也没用*/str = "hello abc hello abc";res = str.search("abc"); // 6/*搜索字符串中是否含有abc或aec或afc*/res = str.search(/a[bef]c/);/*match():可以根据正则表达式,从一个字符串中将符合条件的内容提取出来,默认情况下我们的match只会找到第一个符合要求的内容,找到以后就停止检索,我们可以设置正则表达式为全局匹配模式,这样就会匹配到所有的内容,可以为一个正则表达式设置多个匹配模式,且顺序无所谓match()会将匹配到的内容封装到一个数组中返回,即使只查询到一个结果*/str = "1a2b3c4d5e6f7";res = str.match(/[A-z]/); // ares = str.match(/[A-z]/g); // ares = str.match(/[A-z]/gi); // a/*replace():可以将字符串中指定内容替换为新的内容参数:1. 被替换的内容2. 新的内容默认值只替换第一个*/res = str.replace(/a/, "@_@");res = str.replace(/a/g, "@_@");res = str.replace(/a/gi, "@_@");res = str.replace(/[a-z]/gi, "@_@");res = str.replace(/[a-z]/gi, "");	
</script>
<style>
</style>
</head>
<body>
</body>
</html>

88 正则表达式语法(1)

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset = "utf-8">
<script type="text/javascript">/*创建一个正则表达式检查一个字符串中是否含有aaa*/var reg = /aaa/;/*量词:通过量词可以设置一个内容出现的次数{n}正好出现n次量词只对它前面的一个内容起作用{m, n}:出现m-n次{m, }:出现m次以上+:至少一个,相当于{1, }*:0个或多个,相当于{0, }?:0个或1个,相当于{0, 1}*/	var reg = /a{3}/; // 找有没有连续出现的三个areg.test("aaaa"); // true// abababreg = /(ab){3}/;reg = /ab{3}c/; // abbbcreg = /ab{1, 3}c/; // b出现1-3次reg = /ab{3,}c/; // b出现3次以上reg = /ab+c/; // 至少一个breg = /ab*c/;reg = /ab?c/;/*检查一个字符串中是否以a开头^表示开头$表示结尾如果在正则表达式中同时使用^和$则要求字符串必须完全符合正则表达式*/reg = /^a/; // 匹配开头的areg = /a$/; // 匹配结尾的areg = /^a$/; // aaa-falsereg = /^a|a$/; // aaa-true/*创建一个正则表达式,用来检查一个字符串是否是一个合法的手机号手机号规则:11位1. 以1开头2. 第二位3-9任意数字3. 三位以后任意数字^1   [3-9]   [0-9]{9}$*/var phoneStr = "123567890123";var phoneReg = /^1[3-9][0-9]{9}$/;console.log(phoneReg.test(phoneStr));	
</script>
<style>
</style>
</head>
<body>
</body>
</html>

89 正则表达式语法(2)

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset = "utf-8">
<script type="text/javascript">/*检查一个字符串中是否含有..表示任意字符在正则表达式中使用\作为转义字符\.来表示\\:\注意:使用构造函数时,由于它的参数是一个字符串,而\是字符串中转义字符,如果要使用\则需要使用\\来代替*/var reg = /./;console.log(reg.test("b")); // truevar reg = /\./;var reg = /\\/;console.log(reg.test("b.\\")); // true,在字符串中也得使用两个\\reg = new RegExp("\.");reg = new RegExp("\\.");/*\w:任意字母、数字、_ [A-z0-9_]\W:除了字母、数字、_ [^A-z0-9_]\d:任意数字 [0-9]\D:除了数字 [^0-9]\s:空格\S:除了空格\b:单词边界\B:除了单词边界*//*创建一个正则表达式检查一个字符串中是否含有单词child*/reg = /\bchild\b/;reg.test("hello children"); // false// 接收一个用户的输入//var str = prompt("请输入用户名");var str = "    hello";// 去掉字符串中的空格(前后)// 去除空格就是使用""来替换空格str = str.replace(/\s/g, "");str = str.replace(/^\s/g, ""); // 只去掉了开头一个空格str = str.replace(/^\s*/, ""); // 开头0或多个空格str = str.replace(/\s*$/, ""); // 结尾0或多个空格str = str.replace(/^\s*|\s*$/g, ""); // 匹配开头和结尾空格str = str.replace(/^\s+|\s*$/g, ""); // 匹配开头和结尾空格
</script>
<style>
</style>
</head>
<body>
</body>
</html>

90 邮件的正则

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset = "utf-8">
<script type="text/javascript">/*电子邮件:hello  .nihao  @  abc  .com  .cn1. 开头(hello):任意字母、数字、_2. .任意字母、数字、_(有没有都行*)3. @4. 任意字母、数字5. .任意字母(2-5位)6. .任意字母(2-5位),可写可不写\w{3, }  (\.\w+)*  @  [A-z0-9]+  (\.[A-z]{2, 5}){1, 2}*/var emailReg = /\w{3, }(\.\w+)*@[A-z0-9]+(\.[A-z]{2, 5}){1, 2}/;var email = "abc@abc.com";console.log(emailReg.test(email)); // truevar emailReg = /^\w{3, }(\.\w+)*@[A-z0-9]+(\.[A-z]{2, 5}){1, 2}$/;var email = "abc@abc.com.123";console.log(emailReg.test(email)); // false
</script>
<style>
</style>
</head>
<body>
</body>
</html>

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

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

相关文章

基于ansible进行运维自动化的研究以及相关的属性

一、ansible-简介 介绍 ansible是新出现的自动化运维工具&#xff0c;基于Python开发&#xff0c;集合了众多运维工具&#xff08;puppet、cfengine、chef、func、fabric&#xff09;的优点&#xff0c; 实现了批量系统配置、批量程序部署、批量运行命令等功能。 无客户端。 …

【香橙派开发板测试】:在黑科技Orange Pi AIpro部署YOLOv8深度学习纤维分割检测模型

文章目录 &#x1f680;&#x1f680;&#x1f680;前言一、1️⃣ Orange Pi AIpro开发板相关介绍1.1 &#x1f393; 核心配置1.2 ✨开发板接口详情图1.3 ⭐️开箱展示 二、2️⃣配置开发板详细教程2.1 &#x1f393; 烧录镜像系统2.2 ✨配置网络2.3 ⭐️使用SSH连接主板 三、…

为什么 FPGA 的效率低于 ASIC?

FPGA是“可重构逻辑”器件。先制造的芯片&#xff0c;再次设计时“重新配置”。 ASIC 不需要“重新配置”。你先设计&#xff0c;把它交给代工厂&#xff0c;然后制造芯片。 现在让我们看看这些芯片的结构是什么样的&#xff0c;以及它们的不同之处。 ● 逻辑单元&#xff1a;F…

小程序多排数据横向滚动实现

如何实现多排数据滚动效果 swiper 外部容器 swiper-item 每一页的数据 因为现在有多排数据,现在在swiper-item 中需要循环一个数组 初版 <template><view><view class"container"><view class"swiper-box"><swiper class&qu…

拍得更近、拍得更清:Pura 70 Pro如何做到5cm对焦?

众所周知&#xff0c;我们的眼睛离一个物品越近时&#xff0c;我们就越能看清该物品的细节&#xff0c;但物品距离超过某个极限时&#xff0c;反而会看不清楚——这是因为超出了眼睛所能对焦的极限。 对于手机摄像头来说&#xff0c;也具有相似的道理。当我们的手机镜头距离被…

windows server报错--无法启动此程序,因为计算机中丢失MSVCP120.dll解决办法(已解决)

无法启动此程序&#xff0c;因为计算机中丢失MSVCP120.dll解决办法。 win7系统丢失MSVCP120.dll解决方法&#xff1a; 1、安装微软常用运行库合集&#xff0c;就可以完美的解决&#xff0c;此C运行库算是很全了&#xff0c;安装它才免于重装系统&#xff0c;完美的解决了我的丢…

【elementui】记录el-table设置左、右列固定时,加大滚动条宽度至使滚动条部分被固定列遮挡的解决方法

当前elementui版本&#xff1a;2.8.2 现象&#xff1a;此处el-table__body-wrapper默认的滚动条宽度为8px&#xff0c;我加大到10px&#xff0c;如果不设置fixed一切正常&#xff0c;设置fixed后会被遮挡一点 el-table__fixed-right::before, .el-table__fixed::before 设置…

CentOS7使用Postfix, Dovecot搭建邮箱服务

CentOS7使用Postfix&#xff0c;Dovecot搭建邮箱服务的步骤与挑战&#xff1f; 为了满足企业内部或个人的邮件服务需求&#xff0c;使用CentOS7搭建一个稳定、安全的邮箱服务器是一个非常实用的解决方案。AokSend将详细介绍如何在CentOS7系统上使用Postfix和Dovecot搭建邮箱服…

Android源码目录结构概览

Android源码的目录结构是为了组织和模块化不同层次的系统组件而设计的。以下是Android源码目录结构的概览&#xff1a; abi: 应用二进制接口。art: 新的Android运行时环境&#xff08;ART&#xff09;。bionic: 系统C库。bootable: 启动引导相关代码。build: 系统构建规则和配…

linux系统进程占cpu 100%解决步骤

1.查找进程 ps aux 查看指定进程: ps aux | grep process_name2.根据进程查找对应的主进程 pstree -p | grep process_name 3.查看主进程目录并删除 ps -axu | grep process_name rm -rf /usr/bin/2cbbb

python可用于生产级别的日志模块

背景 生产环境中整个项目的日志信息需要每一天保存一个日志文件&#xff0c;日志保留的最大时间为30天。 自定义一个日志模块&#xff0c;代码如下: import os, logging from datetime import datetime from logging import handlersclass Logger:"""定义Logge…

修改 Tomcat 默认端口号最简单的方法

前言 每次在创建一个新的Maven项目之后&#xff0c;启动项目总会报8080端口号被占用的问题&#xff0c;既然每次都有这样的困扰&#xff0c;那不如一了百了&#xff0c;直接修改默认的8080端口号。 &#xff08;如果还是想要默认端口号。可参考我主页文章杀死占用了8080的进程…

IB user verbs介绍

本文来自对内核源代码文档/Documentation/infiniband/user_verbs.rst的翻译和理解。 在Infiniband设备帮助下&#xff0c;跨计算机的两个进程可以相互访问对方的虚地址空间。在Linux操作系统上&#xff0c;支持进程能直接访问本地Infiniband设备的资源&#xff0c;从而实现跨机…

openmv学习笔记(24电赛笔记)

#opemv代码烧录清除详解 openmv的代码脱离IDE运行程序&#xff0c;只需要在IDE中将代码烧录道flash里面&#xff0c;断开IDE连接&#xff0c;上电之后&#xff0c;会自动执行main.py中的程序&#xff0c;IDE烧录的时候&#xff0c;会默认将程序后缀保存为 .py文件。 ​​​​​…

防爆智能手机如何助力电气行业保驾护航?

在电气行业的智能化转型浪潮中&#xff0c;防爆智能手机以其强大的数据处理能力、实时通讯功能及高度集成的安全特性&#xff0c;正成为保障电力网络稳定运行、预防安全隐患的得力助手。 防爆智能手机在电气行业中发挥着重要的保驾护航作用&#xff0c;主要体现在以下几个方面&…

Agent类型解析:AI生成内容(AIGC)在不同领域的应用与影响

在近年来&#xff0c;人工智能&#xff08;AI&#xff09;技术的迅猛发展已经极大地影响了我们的工作和日常生活。其中&#xff0c;AI生成内容&#xff08;AIGC&#xff09;作为人工智能领域的一大应用方向&#xff0c;已开始在多个行业中发挥其独特的作用。从媒体出版到软件开…

微信小程序 - 数组 push / unshift 追加后数组返回内容为数字(数组添加后打印结果为 Number 数值类型)

前言 假设一个空数组,通过 push 方法追加了一个项,控制台打印的结果竟然是 Number 数值。 例如,以下微信小程序代码: // 源数组 var arr = [] // 追加数据 var tem = arr.push(数据) // 查看结果 console.log(tem)

swagger-ui.html报错404

问题1&#xff1a;权限受限无法访问 由于采用的Shiro安全框架&#xff0c;需要在配置类ShiroConfig下的Shiro 的过滤器链放行该页面&#xff1a;【添加&#xff1a;filterChainDefinitionMap.put("/swagger-ui.html", "anon");】 public ShiroFilterFact…

Kubernetes Secret 详解

Kubernetes Secret 是一种用于存储和管理敏感信息的对象,如密码、OAuth 令牌和 SSH 密钥等。使用 Secret 可以避免将机密数据直接放在 Pod 规约或容器镜像中,从而增加了应用程序的安全性。 Secret 的类型 Kubernetes 支持多种类型的 Secret,包括: ​​Opaque​​:默认的…

node+mysql实现(账户密码,阿里云短信验证,QQ邮箱注册登录,短信验证密码重置,邮箱密码重置)之注册,登录密码重置总篇

node+mysql实现账户登录 注意效果图项目插件代码参数说明短信验证模块邮箱验证模块注册方式登录方式密码重置前端页面部分登录页面账户登录页面(login.html)短信验证登录页面(smsLogin.html)邮箱登录页面(emailLogin.html)注册部分页面短信验证注册页面(register.html)邮…