当前位置: 首页 > 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.dnsts.com.cn/news/165851.html

相关文章:

  • 龙岩微信网站建设沈阳做网站的公司排行
  • 在线建设网站 源代码上海建设网站便宜的
  • 网站建设需要考虑因素做住宿的网站
  • 在线做qq空间的网站百度指数怎么下载
  • 做网站的软件公司淮北注册公司
  • 常州地区做网站建站最好的
  • 如何建设机关用房管理系统网站在线做网页的网站
  • tv网站建设太原市建设银行网站
  • 做网站为什么要去工厂做的网站打开显示无标题
  • 深圳 电子商务网站开发网站套模版
  • wordpress 改网站介绍做ppt兼职的网站
  • iis7.5配置网站青岛房产
  • 网站对固定ip转向怎么做绍兴企业做网站
  • 简单干净的网站网站建设是前端的吗
  • 手机网站模版做gif表情包的网站
  • 全国猎头公司前十名绍兴seo管理
  • 互联网公司响应式网站网站备案 更换接入商
  • 建设网站是哪个部门负责网站中上传资料存放ftp
  • ps怎样做网站首页图杭州seo托管公司推荐
  • 云主机 小型网站电商设计类插画
  • 自己建网站怎么建网站建设企业熊掌号
  • 产业园网站建设方案厦门地税网站建设
  • 网站建站中关键字搜索怎么弄wordpress的文章在哪
  • 做网站预付款是多少wordpress 图片轮播
  • 伽师网站建设网站开发文档下载
  • 江苏省建设注册中心网站浦东医院网站建设
  • 重庆网站推广入口360网站卫士代备案流程
  • 那个网站做h5好wordpress运行php文件下载
  • 花瓣是模仿哪个网站263企业邮箱怎么修改密码
  • 兰州做网站 东方商易广州网站建设公司哪家服务好