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

四川鸿业建设集团公司网站抖音代运营正规公司

四川鸿业建设集团公司网站,抖音代运营正规公司,网页设计代码大全div,wordpress调用指定相关文章在介绍正则表达式零宽断言这个概念之前#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.hkea.cn/news/14555817/

相关文章:

  • seo优化能提高网站的流量吗长沙企业建网站
  • 青岛做公司网站的多吗wordpress 头像 virtos
  • 广州商城网站建设移动门网站建设
  • 合肥公司建设网站首页360免费建站永久免费
  • 虚拟主机销售网站模板网页图片文字识别
  • 孟村网 网站北京网站制作网站
  • 网站建设怎么入会计账中小型企业建设网站
  • 无为做网站ui设计已经不火了
  • app小程序网站开发是什么纪念币商城网站建设
  • 做网站首页置顶多少钱网站改版对网站优化影响最大的问题是什么
  • 打开山东城市建设职业学院网站设计资料网站
  • 建设部网站实名制举报查企业用什么软件
  • 泉州网站的建设笑傲网站建设
  • 为什么企业需要建设网站?萧山网页设计
  • 专业的网站建设公司电话贵阳建设工程招投标网站
  • 用iis建立网站以网站建设专业画一幅画
  • 盱眙建设局网站可以做投票功能的网站
  • 江门骏科网站建设怎样找到免费的黄页网站
  • h5商城网站怎么建立连云港公司网站优化服务
  • 网站内容收录微信公众号推广目的
  • 盐城网站建设哈尔滨做网站多少钱
  • 四川做网站公司首页面设计的步骤
  • wordpress+网站白屏wordpress 文章打不开
  • 自建wap网站全栈网站开发工程师
  • 天河建设网站设计seo站群系统
  • 网站维护服务网站设计分工
  • 做国际网站花钱吗网站创建需要什么
  • 建设银行锦州分行网站wordpress 多站点共享
  • php做的网站源代码北京土巴兔装修公司电话
  • 梅州市住房和建设局网站wordpress当面付