当前位置: 首页 > news >正文

网站图片大小优化网页制作与网站建设试卷

网站图片大小优化,网页制作与网站建设试卷,公司宣传册模板免费下载,邯郸做网站的在介绍正则表达式零宽断言这个概念之前#xff0c;先看一下以下这道有关 javascript 正则表达式的题目#xff1a; 登录注册流程是前端最常见的业务流程之一#xff0c;注册流程少不了密码强弱度校验#xff0c;请实现对密码的校验#xff0c;要求满足#xff1a; 包含大…在介绍正则表达式零宽断言这个概念之前先看一下以下这道有关 javascript 正则表达式的题目 登录注册流程是前端最常见的业务流程之一注册流程少不了密码强弱度校验请实现对密码的校验要求满足 包含大小写字母、数字、特殊字符中的至少任意两种长度8-32位。 什么是零宽断言 零宽断言 匹配字符串而不消耗任何内容。ECMAScript 具有向前执行此操作的前向断言但该语言缺少向后执行断言所提供的向后执行此操作的方法。通过 lookbehind 断言人们可以确保一个模式是否在另一个模式之前例如匹配美元金额而不捕获美元符号。零宽断言是正则表达式中的难点所以本章节重点从匹配原理方面进行一下分析。零宽断言还有其他的名称例如环视或者预搜索等等。 匹配字符串而不消耗任何内容这句话怎么理解来看以下两个例子 正则匹配abc后面的大写字母 const strabcDEF; const reg/abc([A-Z])/; console.log(str.match(reg)[1]); // D, 最终匹配结果(match[0])是abcD /abc([A-Z])/.test(abcD); // true /abc([A-Z])/.test(abcd) // false 使用正向肯定预查匹配abc后面的大写字母 const strabcDEF; const reg/abc(?[A-Z])/; console.log(str.match(reg)[1]); // undefined, 最终匹配结果(match[0])是abc因为零宽断言(?[A-Z])并不匹配任何字符只是用来规定当前位置的后面必须是一个大写字母。 /abc(?[A-Z])/.test(abcD); // true /abc(?[A-Z])/.test(abcd); // false 正向肯定预查 x(?y) 表示x只有在y前面的情况才匹配成功它匹配后面紧跟着指定模式的位置但不包含该模式表达式 foo(?bar) 匹配在foobar中的foo但不匹配foobar中的bar。例如 /\d(?%)/.test(100% of US presidents have been male); // true 这里\d只在百分号%前匹配数字,所以成功匹配到100。 正向否定预查 x(?!y) 表示x只有在y后面的情况才匹配成功它匹配后面紧跟着不是指定模式的位置表达式 foo(?!bar) 匹配在foobaz中的foo但不匹配foobar中的foo。例如 /\d(?!%)/.test(that’s all 44 of them); // true 这里\d只在不在%前匹配数字,所以成功匹配到44。 反向肯定预查 (?y)x 表示x只有不在y前面的情况才匹配成功它匹配前面紧跟着指定模式的位置但不包含该模式表达式 (?foo)bar 匹配在foobar中的bar但不匹配foobar中的foo。例如 /(?[Pp]ython)\s\d/.test(Python 2 and Python 3); // true 这里\d只在Python后匹配数字,所以成功匹配到2。 反向否定预查 (?!y)x 表示x只有不在y后面的情况才匹配成功它匹配前面紧跟着不是指定模式的位置表达式 (?!foo)bar 匹配在bazbar中的bar但不匹配foobar中的bar。例如 /(?!Java)\b\d\b/.test(Python 2 and Python 3); // true 这里\d只在不在Java后匹配数字,所以成功匹配到2和3。 校验密码格式 回顾开头的校验密码格式的问题可以拆解成两步1. 包含大小写字母、数字、特殊字符中的至少任意两种2. 满足长度8-32位 其中第二步的要求很容易得到 const PASSWORD_LENGTH_EXP /^.{8,32}$/ /^.{8,32}$/.test(123456781234567812345678123456781) // false /^.{8,32}$/.test(12345678) // true /^.{8,32}$/.test(1234567) // false 解释 /^.{8,32}$/ 用于匹配一个长度在8到32之间的任意字符序列。 ^ 表示匹配字符串的开始位置。. 表示匹配除了换行符之外的任意字符。{8,32} 表示前面的模式.要重复出现8到32次。$ 表示匹配字符串的结束位置。 那么如何用正则表示大小写字母、数字、特殊字符中的至少任意两种搭配组合呢其实换个思路来想这个问题就比较好解了 大小写字母、数字、特殊字符中的至少任意两种搭配可以是 字符串结尾不包含除了字母、数字和特定符号之外的字符。 (?!.[^A-Za-z0-9#?!$%^-.]$) 使用正向否定预查断言字符串结尾不包含除了字母、数字和特定符号之外的字符。 字符串不仅由小写字母组成 (?![a-z]$) 使用正向否定预查确保字符串不仅由小写字母组成。 字符串不仅由大写字母组成。 (?![A-Z]$) 使用正向否定预查确保字符串不仅由大写字母组成。 字符串不仅由数字组成。 (?![0-9]$) 使用正向否定预查确保字符串不仅由数字组成。 字符串不仅由特定符号组成。 (?![#?!$%^-.]*$) 使用正向否定预查确保字符串不仅由特定符号组成。 因此最终的表达式可以是 const PASSWORD_REG /^(?!.*[^A-Za-z0-9#?!$%^*-\.]$)(?![a-z]*$)(?![A-Z]*$)(?![0-9]*$)(?![#?!$%^*-\.]*$).{8,32}$/ 可以优化的一个点是可以丰富一下特殊字符的限定范围。 总结 四种零宽断言在处理一些匹配规则时非常有用,可以让正则表达式的匹配更加精确。当需要进行复杂的文本解析处理时,熟练运用零宽断言可以大大提高工作效率。 技术前沿拓展 前端开发你的认知不能仅局限于技术内需要发散思维了解技术圈的前沿知识。细心的人会发现开发内部工具的过程中大量的页面、场景、组件等在不断重复这种重复造轮子的工作浪费工程师的大量时间。 介绍一款程序员都应该知道的软件JNPF 快速开发平台很多人都尝试用过它它是功能的集大成者任何信息化系统都可以基于它开发出来。 这是一个基于 Java Boot/.Net Core 构建的简单、跨平台快速开发框架。前后端封装了上千个常用类方便扩展集成了代码生成器支持前后端业务代码生成实现快速开发提升工作效率框架集成了表单、报表、图表、大屏等各种常用的 Demo 方便直接使用后端框架支持 Vue2、Vue3。 如果你有闲暇时间可以做个知识拓展。 看完本文如果觉得有用记得点个赞支持收藏起来说不定哪天就用上啦
http://www.w-s-a.com/news/299825/

相关文章:

  • 网站虚拟主机 会计处理石家庄站建设费用多少
  • 网站建设 服务内容 费用简述网站开发流程
  • 公司制作网站跟企业文化的关系空间制作网站
  • 浙江建设监理协会网站个人网站设计规划书
  • wordpress太卡了贵州seo推广
  • 企业介绍微网站怎么做的手机软件商城免费下载
  • 新手网站设计定价网站开发销售
  • 网站开发公司oa有没有找人做标书的网站
  • 传统门户网站有哪些人武部正规化建设
  • 台州网站制作方案免费无代码开发平台
  • 精通网站建设 pdf微盘学做电商的步骤
  • 想在网上做设计接单有没有网站找一个免费域名的网站
  • 湘潭市网站建设科技有限公司杭州网站建设(推荐乐云践新)
  • 优秀网站评析西双版纳傣族自治州民宿
  • 常用的cms建站系统c2c网站模板
  • wordpress更换图标seo网站建设公司
  • 网站备案 深圳小程序怎么进入公众号
  • 实名认证域名可以做电影网站吗坪山网站设计的公司
  • wdcp怎么上传做好的网站管理咨询公司名称参考
  • 设计师网站pin分销系统小程序开发
  • 高端品牌网站建设兴田德润实惠企业网站建设应该怎么做
  • 做研学的网站优秀软文案例
  • 网站个人简介怎么做建设网站卡盟
  • 影楼做网站安庆建设机械网站
  • 访问网站的原理wix做网站流程
  • 众鱼深圳网站建设设计师网名叫什么好听
  • 中小学生做试卷的网站6网站建设需要注意哪些细节
  • 以个人名义做地方门户网站社保服务个人网站
  • 上海企业做网站设计制作感悟150字
  • asp.netmvc网站开发ps设计网页