资讯专栏INFORMATION COLUMN

初识正则

hersion / 1019人阅读

摘要:匹配中文字符的正则表达式匹配空行的正则表达式匹配标记的正则表达式匹配首尾空格的正则表达式匹配地址的正则表达式匹配网址的正则表达式

正则表达式的 语句
元字符

*()用于分组可以用$n
来表示
*(?:)不捕获分组

*{}量词表示数量的

例如表示a个{a}
表示a到b个表示为{a,b}
表示a个以上为{a,b};

*[]查找某个范围内的字符

[0-9a-zA-Z]
查找任何从 0 至 9 的数字查找任何从小写 a 到小写 z 的字符。查找任何从大写 A 到大写 Z 的字符。
var va="adsn ahen ajhn akki sihj smnn uknh"
console.log(va.match(/[ae]s/))//寻找as或es

| 分支()相对与或的
系统预定意元字符

?表示0个或1个

+表示一个也上

贪婪模式与反贪婪模式

*、+和?限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个?就可以实现非贪婪或最小匹配。

var c="qqq icbkb coiwcnk tyu kjanc alnc"
var reg =/w{4,7}/g
console.log(c.match(reg))// ["icbkb", "coiwcnk", "kjanc", "alnc"]
var reg =/w{4,7}?/g
console.log(c.match(reg)) ["icbk", "coiw", "kjan", "alnc"]
前瞻

reg(?=reg1)正向前瞻
reg(?!reg1)反向前瞻

正则对象属性

*lastIndex
该属性存放一个整数,它声明的是==上一次匹配文本之后==的第一个字符的位置

常用的正则匹配

利用正则表达式限制网页表单里的文本框输入内容

  用正则表达式限制只能输入中文:onkeyup="value=value.replace(/1/g,"") "onbeforepaste="clipboardData.setData(""text"",clipboardData.getData(""text"").replace(/1/g,""))"
  
用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/2/g,"") "onbeforepaste="clipboardData.setData(""text"",clipboardData.getData(""text"").replace(/2/g,""))"

  用正则表达式限制只能输入数字:onkeyup="value=value.replace(/3/g,"") "onbeforepaste= "clipboardData.setData(""text"",clipboardData.getData(""text"").replace(/3/g,""))"
  
   用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[W]/g,"") "onbeforepaste="clipboardData.setData(""text"",clipboardData.getData(""text"").replace(/3/g,""
* 验证用户密码:“^[a-zA-Z]w{5,17}$”正确格式为:以字母开头,长度在6-18之间,
 
** 只能包含字符、数字和下划线。
 
* 验证是否含有^%&"",;=?$"等字符:“[^%&"",;=?$x22]+”
 
** 只能输入汉字:“^[u4e00-u9fa5],{0,}$”
 
 验证Email地址:“^w+[-+.]w+)@w+([-.]w+).w+([-.]w+)$”
  

验证InternetURL:“^http://([w-]+.)+[w-]+(/[w-./?...*)?$”

 * 验证电话号码:“^((d{3,4})|d{3,4}-)?d{7,8}$”
 
 正确格式为:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”,
  “XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。
 
* 验证身份证号(15位或18位数字):“^d{15}|d{}18$”
 
 *验证一年的12个月:“^(0?[1-9]|1[0-2])$”正确格式为:“01”-“09”和“1”“12”
 
* 验证一个月的31天:“^((0?[1-9])|((1|2)[0-9])|30|31)$”
   正确格式为:“01”“09”和“1”“31”。
 
* 匹配中文字符的正则表达式: [u4e00-u9fa5]

 匹配空行的正则表达式:n[s| ]r

匹配HTML标记的正则表达式:/<(.)>.|<(.*) />/

匹配首尾空格的正则表达式:(^s)|(s$)

匹配Email地址的正则表达式:w+([-+.]w+)@w+([-.]w+).w+([-.]w+)*

匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?

u4E00-u9FA5 ↩

uFF00-uFFFF ↩

d ↩

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/84929.html

相关文章

  • 初识 Bottle (一)

    摘要:安装是一个轻量型的不依赖于任何第三方库的框架,整个框架只有一个文件。向打声招呼吧新建一个文件在浏览器或者,,得到结果当使用装饰器绑定路由时,实际是使用了的默认应用,即是的一个实例。 1. 安装 bottle是一个轻量型的不依赖于任何第三方库的web框架,整个框架只有bottle.py一个文件。 wget http://bottlepy.org/bottle.py 2. 向bottl...

    mengbo 评论0 收藏0
  • webpack4系列教程(一):初识webpack

    摘要:当处理应用程序时,它会递归地构建一个依赖关系图,其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个。而可以将所有类型的文件处理成能够识别的有效模块,然后再对其进行处理。 1. 什么是webpack 先来看看官网对webpack的介绍 : 本质上,webpack是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack ...

    TigerChain 评论0 收藏0
  • TypeScript 初识 - 变量

    摘要:通常会定义为函数的返回值一个类型的变量是没有生命用处的,因为类型的变量只能赋值为。和有一些区别的,函数没有返回值时返回类型为的方法,即使没有写明语句,也会在函数执行完的时候,隐式地返回一个类型。中新增加的变量声明方式。 类型注解 类型注解使用 :TypeAnnotation 语法。类型声明空间中可用的任何内容都可以用作类型注解。 const num: number = 123; fun...

    dinfer 评论0 收藏0
  • [初识C++] 何为最:心酸历史

    摘要:上面需要了解的是这俩个版本都是破蛹成蝶的版本世界挑战榜咋才前三还没挤进去呀,你想想世界上有几千中编程语言,在其中脱颖出来,可以说是天之娇子,凤毛麟角了。支持正版图灵上面买吧,如果没钱买盗版吧学完以后买本正版支持一下,创作不易是吧 ...

    forrest23 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<