根据【中华人民共和国国家标准 GB 11643-1999】中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。...排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。...1.1.3 月份码规则: 月份码长2位 第一位数字为0,第二位数字为1-9 或者第一位数字为1,第二位数字为0-2 根据以上规则,写出月份码的正则表达式: /((0[1-9])|(1[0-2]))/。...0开头 console.log(p.test("01010519491231002X")); //输出 false 年份不能以17开头 console.log(p.test("11010517491231002X...例:我国并不存在16,26开头的地区,却可通过验证 日期判定不够精确。
88节介绍了正则表达式的语法,上节介绍了正则表达式相关的Java API,本节来讨论和分析一些常用的正则表达式,具体包括: 邮编 电话号码,包括手机号码和固定电话号码 日期和时间 身份证 IP地址 URL...此外,写一个正则表达式,匹配希望匹配的内容往往比较容易,但让它不匹配不希望匹配的内容,则往往比较困难,也就是说,保证精确性经常是很难的,不过,很多时候,我们也没有必要写完全精确的表达式,需要写到多精确与你需要处理的文本和需求有关...[0-9])"); // 右边不能有数字 就可以输出期望的结果了。 非0开头的6位数字就一定是邮编吗?...[0-9])"); // 右边不能有数字 身份证 身份证有一代和二代之分,一代是15位数字,二代是18位,都不能以0开头,对于二代身份证,最后一位可能为x或X,其他是数字。...用户名的一般规则是: 由英文字母、数字、下划线、减号、点号组成 至少1位,不超过64位 开头不能是减号、点号和下划线 比如: h_llo-abc.good@example.com 这个表达式可以为
根据【中华人民共和国国家标准 GB 11643-1999】中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。...排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。 ...如果不需要18开头的年份,可以去掉18。 1.1.3 月份码规则: 根据以上规则,写出月份码的正则表达式: /((0[1-9])|(1[0-2]))/。 ...0开头 console.log(p.test("01010519491231002X")); //输出 false 年份不能以17开头 console.log(p.test("11010517491231002X...也有说法表述91开头是外国人取得中国身份证号码的前两位编码,但本人并未得到证实。如有持91开头身份证或认识马布里的,请帮忙确认相关信息。
大家好,又见面了,我是你们的朋友全栈君。...不包含某些字符: function zz() { var str = '1234567890abc[123456789'; var $sz...= /[#$@/\\(){}[\] ]/gi;//常见的特殊字符不够[]里面继续加 if($sz.test(str)){ console.log...中含有特殊字符'); }else { console.log(str+'不中含有特殊字符'); } } 不包含某些字符串...; } } 当然下面不包含字符串可以演变为不包含字符使用,看你喜欢使用。
写了一个验证手机号和电话号码的正则表达式,在这里存档,以备以后用到。 ^1\d{10}$|^(0\d{2,3}-?|\(0\d{2,3}\))?[1-9]\d{4,7}(-\d{1,8})?...$ 规则说明: 1、可以是1开头的11位数字(手机号) 2、可以是“区号-电话号-分机号”或者是“(区号)电话号-分机号”格式 3、区号是0开头的3~4位数字,可以没有区号 4、电话号是5~8位数字,不能以...0开头 5、分机号是1~8位数字,可以没有分机号 合法数据示例: 13812341234 010-12345678 (0432)1234567-1234
换句话说,正则表达式就是记录文本规则的代码。 很可能你使用过Windows/Dos下用于文件查找的通配符(wildcard),也就是*和?。...和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂——比如你可以编写一个正则表达式,用来查找所有以0开头,后面跟着2-3个数字,然后是一个连字号...这几乎是最简单的正则表达式了,它可以精确匹配这样的字符串:由两个字符组成,前一个字符是h,后一个是i。...\b是正则表达式规定的一个特殊代码(好吧,某些人叫它元字符,metacharacter),代表着单词的开头或结尾,也就是单词的分界处。...如果需要更精确的说法,\b匹配这样的位置:它的前一个字符和后一个字符不全是(一个是,一个不是或不存在)\w。 如果同时使用其它元字符,我们就能构造出功能更强大的正则表达式。
var pattern = new RegExp(/[a-z]/);//实例化RegExp对象 1、test方法 test方法检测目标字符串和正则表达式是否匹配,如果匹配返回true,不匹配返回false...,上一次匹配结束后的位置(目标字符串中的索引),即下一次匹配开始的位置。..., [23位号段,具体咨询各大运营商] 简单版(限制前两位):1开头,第二位3-9,后面9位数字 /^1[3-9]\d{9}$/ 精确版(限制前三位):(如果出现新的手机号段,则不适用,需更新) 示例:...2、检测邮箱格式 邮箱特点: 2342.3s_-df@sina.com.cn 通用的邮箱的特点: 简单版:必须有@ 正则 /@/ 精确版: 必须有@和. ....-],但是开头必须是数字字母下划线 @和点之间:是一个域名,要求至少一个字符,可以是数字字母中横线,要求开头是数字或字母 点后面:要求是至少一个字符,必须是字母 点xxx,这部分可以出现一次
也可以简单的理解在 Java 的正则表达式中,两个 \\ 代表其他语言中的一个 \,这也就是为什么表示一位数字的正则表达式是 \\d,而表示一个普通的反斜杠是 \\。...构建正则表达式示例 示例1 社会安全号的模式是xxx-xx-xxx,其中x是一位数字。...x是一位数字,并且第一位数字不能为0.电话号码的正则表达式可以描述为 \\([1-9][\\d]{2})[\\d]{3}-[\\d]{4} 注:括符(和)在正则表达式中是特殊字符,用于对模式分组。...不能以数字开头。 标识符是一个由字母、数字、下划线(_)和美元符号组成的字符序列。...量词符变为”不情愿“或者”惰性“的,这意味着它将匹配尽可能少的次数。例如,下面的语句显示JRaavaa,因为第一个匹配成功的是a。
和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂——比如你可以编写一个正则表达式,用来查找所有以0开头,后面跟着2-3个数字,然后是一个连字号...“-”,最后是7或8位数字的字符串(像010-12345678或0376-7654321)。...这几乎是最简单的正则表达式了,它可以精确匹配这样的字符串:由两个字符组成,前一个字符是h,后一个是i。...\b是正则表达式规定的一个特殊代码(好吧,某些人叫它元字符,metacharacter),代表着单词的开头或结尾,也就是单词的分界处。...*连在一起就意味着任意数量的不包含换行的字符。现在\bhi\b.*\bLucy\b的意思就很明显了:先是一个单词hi,然后是任意个任意字符(但不能是换行),最后是Lucy这个单词。
和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂,比如你可以编写一个正则表达式,用来查找所有以0开头,后面跟着2-3个数字,然后是一个连字号...这几乎是最简单的正则表达式了,它可以精确匹配这样的字符串:由两个字符组成,前一个字符是h,后一个是i。...如果要精确地查找hi这个单词的话,我们应该使用\bhi\b。 \b 是正则表达式规定的一个特殊代码(好吧,某些人叫它元字符,metacharacter),代表着单词的开头或结尾,也就是单词的分界处。...这里的匹配是指是字符串里有没有符合表达式规则的部分。如果不使用^和$的话,对于\d{5,12}而言,使用这样的方法就只能保证字符串里包含5到12连续位数字,而不是整个字符串就是5到12位数字。...元字符^(和数字6在同一个键位上的符号)和 $ 都匹配一个位置,这和 \b 有点类似。 ^匹配你要用来查找的字符串的开头,$匹配结尾。
和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求。...当然,代价就是更复杂,比如你可以编写一个正则表达式,用来查找所有以 0 开头,后面跟着 2-3 个数字,然后是一个连字号 “-” ,最后是 7 或 8 位数字的字符串(像 011-12345678 或...如果要精确地查找 me 这个单词的话,我们应该使用 \bme\b。 \b 是正则表达式规定的一个特殊代码(有些人叫它元字符,metacharacter),代表着单词的开头或结尾,也就是单词的分界处。...下面是 .Net 中常用的正则表达式选项: 限定符 描述 IgnoreCase 匹配时不区分大小写。...Multiline 更改 ^ 和 的含义,使它们分别在任意一行的行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配。在此模式下 的精确含意是:匹配 \n 之前的位置以及字符串结束前的位置.)
_) 不能以_开头 (?!.*?..._$) 不能以_结尾 [a-zA-Z0-9_\u4e00-\u9fa5]+ 至少一个汉字、数字、字母、下划线 $ 与字符串结束的地方匹配 6、只含有汉字、数字、字母、下划线,下划线位置不限:...]*$” 只能输入n位的数字:“^d{n}$” 只能输入至少n位数字:“^d{n,}$” 只能输入m-n位的数字:“^d{m,n}$” 只能输入零和非零开头的数字:“^(0|[1-9][0-9]...只能输入由数字、26个英文字母或者下划线组成的字符串:“^w+$” 验证用户密码:“^[a-zA-Z]w{5,17}$”正确格式为:以字母开头,长度在6-18之间, 只能包含字符、数字和下划线。...$” 验证身份证号(15位或18位数字):“^d{15}|d{}18$” 验证一年的12个月:“^(0?
在做项目的过程中,使用正则表达式来匹配一段文本中的特定种类字符,是比较常用的一种方式,下面是对常用的正则匹配做了一个归纳整理。..._) 不能以_开头 (?!.*?...9]*$ 匹配n位的数字 ^d{n}$ 匹配至少n位数字 ^d{n,}$ 匹配m-n位的数字 ^d{m,n}$ 匹配零和非零开头的数字 ^(0|[1-9][0-9]*)$ 匹配有两位小数的正实数 ^[0...$ 验证用户密码 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。...$ 验证身份证号(15位或18位数字) ^d{15}|d{}18$ 验证一年的12个月 正确格式为:“01”-“09”和“1”“12” ^(0?
和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂——比如你可以编写一个正则表达式,用来查找所有以0开头,后面跟着2-3个数字,然后是一个连字号...这几乎是最简单的正则表达式了,它可以精确匹配这样的字符串:由两个字符组成,前一个字符是h,后一个是i。...如果需要更精确的说法,\b匹配这样的位置:它的前一个字符和后一个字符不全是(一个是,一个不是或不存在)\w。 如果同时使用其它元字符,我们就能构造出功能更强大的正则表达式。...exp),断言此位置的后面不能匹配表达式exp。例如:\d{3}(?!\d)匹配三位数字,而且这三位数字的后面不能是数字;\b((?!abc)\w)+\b匹配不包含连续字符串abc的单词。...Multiline(多行模式) 更改^和$的含义,使它们分别在任意一行的行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配。
和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂 入门 学习正则表达式的最好方法是从例子开始,理解例子之后再自己对例子进行修改,实验...这几乎是最简单的正则表达式了,它可以精确匹配这样的字符串:由两个字符组成,前一个字符是h,后一个是i。...\b是正则表达式规定的一个特殊代码(好吧,某些人叫它元字符,metacharacter),代表着单词的开头或结尾,也就是单词的分界处。...^匹配你要用来查找的字符串的开头,$匹配结尾。这两个代码在验证输入的内容时非常有用, 比如一个网站如果要求你填写的QQ号必须为5位到12位数字时,可以使用:^\d{5,12}$。...和忽略大小写的选项类似,有些正则表达式处理工具还有一个处理多行的选项。如果选中了这个选项,^和$的意义就变成了匹配行的开始处和结束处。 字符转义 如果你想查找元字符本身的话,比如你查找.
这几乎是最简单的正则表达式了,它可以精确匹配这样的字符串:由两个字符组成,前一个字符是h,后一个是i。...不幸的是,很多单词里包含hi这两个连续的字符,比如him,history,high等等。用hi来查找的话,这里边的hi也会被找出来。如果要精确地查找hi这个单词的话,我们应该使用\bhi\b。...\b是正则表达式规定的一个特殊代码(好吧,某些人叫它元字符,metacharacter),代表着单词的开头或结尾,也就是单词的分界处。...*同样是元字符,不过它代表的不是字符,也不是位置,而是数量——它指定*前边的内容可以连续重复使用任意次以使整个表达式得到匹配。因此,.*连在一起就意味着任意数量的不包含换行的字符。现在\bhi\b....*\bLucy\b的意思就很明显了:先是一个单词hi,然后是任意个任意字符(但不能是换行),最后是Lucy这个单词。 这里的\d是个新的元字符,匹配一位数字(0,或1,或2,或……)。
和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂——比如你可以编写一个正则表达式,用来查找所有以 0开头,后面跟着 2-3个数字,然后是一个连字号...这几乎是最简单的正则表达式了,它可以精确匹配这样的字符串:由两个字符组成,前一个字符是 h,后一个是 i。...如果需要更精确的说法,\b匹配这样的位置:它的前一个字符和后一个字符不全是(一个是,一个不是或不存在)\w。 换行符就是 '\n', ASCII编码为 10(十六进制 0x0A)的字符。...匹配不是单词开头或结束的位置 [^x] 匹配除了x以外的任意字符 [^aeiou] 匹配除了aeiou这几个字母以外的任意字符 例子: \S+匹配不包含空白符的字符串。...exp),断言此位置的后面不能匹配表达式exp。例如: \d{3}(?!\d)匹配三位数字,而且这三位数字的后面不能是数字; \b((?!abc)\w)+\b匹配不包含连续字符串 abc的单词。
made_in_miliLV的主页.png - 正则表达式:正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。...在开发的使用场景 - 例如:匹配url等等 本文中,对正则表达式的一些语法使用,进行了探究与测试,其中包括以下几部分: ①.正则表达式模块组成 ②.正则表达式的语法 - '.' , '[...]...' ④.正则表达式的语法 - '^', ' $' ,' \A \Z' ⑤.正则表达式的语法 - '|' , ' (ab) ', 特别说明,图片名称 与上图的目录对应: 四[n] = 语法四 =...- 只能以 下划线_ or 大小写字母开头!...).png 特例:创世神- 09(以0开头的 - 个位数!)
5~15 位数字 ②不能以 0 开头 若使用之前代码: 以上要求就可以变成一个正则表达式:[1-9][0-9]{4,14} 通过正则表达式,我们就可以检查字符串中的 QQ 号是否符合要求了...(String regex) 根据给定的正则表达式拆分当前字符串 练习: 1、 举例:校验 qq 号码. 1:要求必须是 5-15 位数字 2:0 不能开头 代码演示: ...含义:代表的是任何字符 例如:匹配规则为" . ",那么需要匹配的是一个任意字符。 规则:\\d 含义:相当于[0-9]。代表的是 0 到 9 数字,0 和 9 包括在内。 ...代表的字母或者数字或者下划线 例如:匹配规则为"\\w ",,那么需要匹配的是一个字母或者是一个数字或一个下滑线 4.2边界匹配器(以x开头或结尾) 边界匹配器:^ 含义:代表以某些内容开头...3 个字符 a 数量词:X{n,m} 含义:代表的是 X 出现至少 n 次,但是不超过 m 次 例如:匹配规则为"a{5,8}",那么需要匹配的内容是有 5 个字符 a 到 8 个字符 a
下面是我整理的以前培训的录音,应对FreeSWITCH中的正则表达式,对于初学者基本上就够了。如果你在学FreeSWITCH Dialplan和正则表达式,可以看一看。...FreeSWITCH中使用PCRE(Perl Compatible Regular Express),大多数其它软件中的正则表达式也兼容这个版本,因而,这里讲的正则表达式也不限于在FreeSWITCH中使用...\d+$ + 号表示1个或多个它前面的字符,因为 + 前面是 \d, 所以它就等于1个或多个数字,实际上,它匹配任何以123 开头的至少4位数的数字串,如1230,12300,12311, 123456789...所以, 它匹配以123开头的至少3位数的数字串,如 123,123789 ^123 跟上面一样,由于没有结尾的$,它匹配任何以123开头的 数字串,但除此之外,它还匹配后面是字母的情况,如123abc...123$ 匹配任何以123结尾的字符串 ^123\d{5}$ {5}表示精确匹配5位,包含它前面的一个字符。
领取专属 10元无门槛券
手把手带您无忧上云