JS 正则 /g 注意事项 字数1066 阅读0 评论0 喜欢0 js中正则表达式的全局匹配模式 /g用法详细 瞎扯 使用正则表达式来做表单验证的时候,遇到如下一个鬼东西, 匹配正则的时候,同样的数据, 一次 true, 一次 false. 坑死爹啊.到底是什么坑爹的问题导致的吧. 研究发现 是 /g 的鬼问题 var str = "123#abc"; var re = /abc/ig; console.log(re.test(str)); //输出ture console.log(r…
注意: 1.只针对18为身份证号码进行校验,现在15位的应该很少了, 2.不区分xX大小写, 3.出生年份1900-2099,每月的天数也进行相关验证(考虑的闰月的情况), 4.校验规则详见,这个写的比较详细和清楚,相信看过后都可以自己写一个, https://jingyan.baidu.com/article/7f41ececff944a593d095c8c.html 5.目前还无法对区位码就进行精确校验,本人搜集整理了区位码,提供了一个查询api,仅攻参考. 有不精确的地方可以留言指出 ap…
一.正则基本概念 1.一种规则.模式.文本处理工具 2.强大的字符串匹配工具 3.在js中常与字符串函数配合使用 二.js正则写法 正则在js中以正则对象存在: (1)var re=new RegExp(正则表达式); (2)var re=/正则表达式/; 三.正则的基本写法 1.开始结束符 ^     $ 2.元字符 (1)任意字符 [abc] abc中的任意一个 (2)范围 [a-z] 字母a到c: [1-9] 数组1到9 (3)排除 [^a-z] 排除字母a-c (4)任意字符 . 3.量…
概述 在JS密码校验中常常会遇到密码强度的校验需求,借用一位朋友提问的图,他在工作中遇到的一个比较经典的密码强度校验要求: 这个需求有两个难点,一,是如何使用正则匹配所有半角英文标点符号,二,是如何验证密码段中在要求的四种(大写字母,小写字母,数字,标点符号)类型中至少存在三种. 首先,我们来解决第一个难点:如何使用正则匹配所有半角英文标点符号. 太长不看版: 满足需求:使用js正则匹配所有半角英文标点符号(不含大小写字母) 解决方案:使用正则表达式:/[\x21-\x2f\x3a-\x40\x…
原文:js 正则学习小记之左最长规则 昨天我在判断正则引擎用到的方法是用 /nfa|nfa not/ 去匹配 "nfa not",得到的结果是 'nfa'.其实我们的本意是想得到整个字符串 "nfa not" 的,可却只得到了 'nfa'. 再来看个例子,/an (nfa)?(nfa test)?/ 去匹配 "an nfa test",如果和上面一样的解释,那应该只得到 'an nfa',接着第一个捕获组里是 'nfa' 第二个捕获组里是空. 我…
概述 续接上文的密码校验要求: 这个需求有两个难点,一,是如何使用正则匹配所有半角英文标点符号,二,是如何验证密码段中在要求的四种(大写字母,小写字母,数字,标点符号)类型中至少存在三种. 第一个难点:如何使用正则匹配所有半角英文标点符号在上文中已经得以解决,所以在这里我们主攻第二个难点并完成完整的符合需求的表达式. 太长不看版 满足需求:完全符合上述图片的校验需求,密码段中在要求的四种(大写字母,小写字母,数字,标点符号)类型中至少存在三种 解决方案:灵活运用正则中的零宽度负先行断言: ^(?…
知识是需要系统的.就像js正则用了那么多次,却还是浑浑噩噩,迫切需要来一次整理,那么来吧! 基本知识 元字符 \d 匹配数字等于[0-9] \w 匹配字母.数字.下划线.中文 \s 匹配任意空白字符 . 匹配除了换行符以外的任意字符 ^ 匹配开始 $ 匹配结束 \b 匹配开始或结束 //元字符的使用 /^\d$/ 匹配一个数字 /^\w/ 匹配开头是字母.数字.下划线或汉字 /^\s$/ 匹配一个空白符 /\bhi\b/匹配hi 重复字符 *匹配0次或多次 ?匹配0次或1次 匹配1次或多次 {n…
JS正则 -test 判断字符串是否符合规定的正则表达式 -exec 获取匹配的数据 test的例子: 从上述的例子我们可以看出,如果rep.test匹配到了就返回true,否则返回false exec的例子 上述匹配的结果是一个数组,但是不管匹配几次都只显示第一个 正则中的分组 全局匹配 没有分组的情况下,会依次从第一个开始取,获取到最后一个如果再次获取,就会获得null,然后再冲第一个开始 如果这个时候采用分组效果如下: 正则表达式 /-/ 用于定义正则表达式 /-/g 表示全局匹配 /-/…
js正则实现二代身份证号码验证详解 根据[中华人民共和国国家标准 GB 11643-1999]中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码. 地址码表示编码对象常住户口所在县(市.旗.区)的行政区划代码. 出生日期码表示编码对象出生的年.月.日,其中年份用四位数字表示,年.月.日之间不用分隔符. 顺序码表示同一地址码所标识的区域范围内,对同年.月.日出生的人员…
nginx location正则写法 一个示例: location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] } location / { # 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求 # 但是正则和最长字符串会优先匹配 [ configuration B ] } location /documents/ { # 匹配任何以 /documents/ 开头的地址,匹配符合以后,还要继续往下搜索 # 只有后面的正则表达式没有…