第四篇javascript

pyrene      2022-02-09     653

关键词:

一、正则表达式

提示:此专题需要多轮复习反复的加深和理解

正则表达式的两种用法:

1)regexp.xxx(string);

2)string.yyy(regexp);

验证用户输入的手机号格式是否合法
       var regexp=/^1[3-8]\d{9}$/;
        var input="15012345678";
        console.log(regexp.test(input))

正则表达式主要用于表单验证

1、直接量字符

 定义一个正则表达式对象可以使用perl风格的直接量语法

/pattern/attributes

说明

直接量字符串左右不能添加‘或者”(引号)

两个/不能省略

参数pattern是一个正则表达式字符串

参数attribute是一个可选的字符串,可以在“g”,“i”和“m”范围内指定,分别用于指定全局匹配、区分大小写的匹配和多行匹配

2、字符类

 所有的单个大小写字母、数字都是一个正则表达式,用以匹配单个字符,这个字符与它本身相同

        var regexp=/ipod/;
        var data='apple ipod is No.123 cool?';
        console.log(regexp.test(data));//false


        var regexp=/ipod/;
        var data='apple ipod is No.123 cool?';
        console.log(regexp.test(data));//true
View Code

正则表达式有些字符有特殊的语法含义,是不能直接使用的,必须使用\进行转义后才能使用

. \ / * ? + [ ( ) ] { } ^ $ |

 

 位置匹配

^   在/[^123]/  表示匹配除了123的

      /^1[123]/   表示包含123的并且以1开头的

 $    表示以什么结尾

|     /[123|456]/   表示匹配123或者456其中一个

,    /[123x,]/    表示匹配123x中任意一个

\b    表示匹配字符的边界

\B    匹配字符串的非边界   例子:“his  history  is so”  如果匹配history中的his  /[/bhis/B]            

 

3、重复

 正则表达式中可以使用如下特殊字符定义字符的出现频次---量词元字符

 

重复字符   含义                                  示例
n?        匹配零次或者一次字符n          /a?/
n*         匹配零次或者多次字符n           /a*/
n+        匹配一次或者多次字符n            /a+/
n{x}     匹配字符n出现x次                 /a{3}/   /\d{9}/表示数字出现9次 
n{x,y}  匹配字符n出现x到y次             /a{2,4}/   
n{x,}    匹配字符n的出现>=x次          /a{3,}/

4、选择、分组和引用

 范围选择,用于指定一个匹配的范围

语法              含义                                    示例
[abc]      匹配指定集合内的任一个字符        /[3458]/

[^abc]    匹配不在指定集合内的任意字符    /[^12679]/

[a-z]       匹配任一个小写字符                  /[a-z]/

[0-9]      匹配任一个数字                        /0-9/

[A-Z]      匹配任一个大写字符                  /A-Z/

[A-z]       匹配大写A到消协z的所有字符,          /[A-z]/
                即A-Z[\]^_`a-z                   /[--籲]/  

exp|exp2    使用|进行条件选择                   /ex|Ex|post|Post/

(expl)     使用()指定分组  ------子表达式

 

正则表达式中可以使用如下元字符引用来进行简化

1 语法              含义                             示例
2 \d       匹配一个数字                      /\d/等价于/[0-9]/
3 \D       匹配一个非数字                  /\D/等价于  /[^0-9]/
4 \w       匹配一个数字/字母/下划线      /\w/等价于/[0-9a-zA-Z]/
5 \W      匹配一个非数字/字符/下划线      /\W/等价于/[^0-9a-zA-Z]/
6 \s        匹配一个空白字符(space)     /\s/等价于/[\n\r\t\v\f]/
7 \S       匹配一个非空白字符                 /\S/等价于/[^\n\r\v\t\f]/
8 .         匹配除了回车和换行符的任何单个字符    /./ 等价于  /[^\n\r]/     

分组匹配  ,使用()把多个字符组成一个整体,这样的每个整体都会自动获得1、2、3、...这样的分组

()       /(abc){3}/    表示以abc为一组的匹配3组  

/(abc)(xvv)(xx)2/  表示匹配(abc)  (xvv)这两个分组

/(aa)(bb)(cc)/2/     表示匹配(bb)这个分组

 

正则表达式分组编号的用法:

1)直接用在正则表达式中

    /<(\w+)>.*<\/\1>/

2)调用test()方法之后使用

    regexp.test(stuID);

    console.log(RegExp.$1);

3)用在string.re[lace()方法中

    var data="Tome mary john maria";

    var regexp=/(mary|,maria)/ig;

    data.replace(regexp,"$1".toUpperCase());    //Tome MARY john MARIA

 

 5、正则表达式中的属性修饰符

 /表达式内容/属性修饰符

属性修饰符可以在下面三个范围内选择

1)i  匹配的时候忽略大小写

2)g  执行全局匹配,找到一次匹配后仍然继续,知道结尾

3)m  执行多汗匹配,会影响^(原本只匹配整个字符串的开头)和$(原来只匹配整个字符串结尾)的含义,匹配每一行的开头和结尾

 

第四篇:模块与包

第四篇:模块与包  PYTHON-模块定义搜索路径PYTHON-包相对导入&绝对导入  查看详情

开始写游戏---第四篇

开始写游戏---第四篇    今天完成了商店的物品展示功能。  写了一个物品展示面板组件:      这是代码:      使用的时候这么使用:          额。。。感觉使用有点麻烦,我又提供了... 查看详情

spring第四篇

在spring第三篇中介绍了bean元素属性在第四篇中介绍spring注入的方式 1set方法注入  建立一个User类创建私有的属性set get方法 重写toString方法代码如下:packagebean;publicclassUser{ privateStringname; privateintage; publicStringgetN... 查看详情

第四篇css

在标签上设置style属性:background-color:#2459a2;height:48px;。。。编写CSS样式:1.在标签的属性中编写1<!DOCTYPEhtml>2<htmllang="en">3<head>4<metacharset="UTF-8">5<title>Title</title>6</head 查看详情

小白入门深度学习|第四篇:配置pytorch环境

查看详情

第四篇其他软件的安装方法

这篇是预留的一篇文章,主要用来记录其他软件的安装方法。占个位置。 查看详情

第四篇alexnet——网络实战

文章目录摘要1项目结构2划分训练集和测试集3计算mean和Standard3.1标准化的作用3.2归一化的作用4训练4.1导入项目使用的库4.2设置随机因子 查看详情

第四篇alexnet——网络实战

文章目录摘要1项目结构2划分训练集和测试集3计算mean和Standard3.1标准化的作用3.2归一化的作用4训练4.1导入项目使用的库4.2设置随机因子 查看详情

coreanimation文档翻译(第四篇)

CoreAnimation文档翻译(第四篇)让Layer的content动画起来核心动画的基础接口以及为拥有Layer的View做的动画扩展接口,使得为Layer制作复杂动画变得简单化。例如改变Layer的frame的size、改变Layer在屏幕上的position、应用旋转transform、或... 查看详情

css样式第四篇

?针对现在网站的图片过大问题,可以用相应的工具进行压缩,并且可对图片进行切割处理。1.如果一个页面的图片过大,可以对其切割,代码<imgsrc=”1.jpg”><imgsrc=”2.jpg”><imgsrc=”3.jpg”>,如这样排列的图片不是块... 查看详情

第四篇express安装esasticsearch

1.首先,我们创建一个Express应用程序!我将使用express.js生成器。npminstall-gexpress-generatorexpress./autocompletercdautocompleternpminstall2.让我们准备elasticsearch。下载elasticsearch,并将其解压到文件系统的某个位置。然后运行cdlocationOfElasticsearc... 查看详情

rabbitmq第四篇:spring集成rabbitmq

  前面几篇讲解了如何使用rabbitMq,这一篇主要讲解spring集成rabbitmq。  首先引入配置文件org.springframework.amqp,如下<dependency><groupId>org.springframework.amqp</groupId><artifactId>spring 查看详情

第四篇:记录相关操作(代码片段)

一介绍MySQL数据操作:DML========================================================在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括使用INSERT实现数据的插入UPDATE实现数据的更新使用DELETE实现数据的删除使用SELECT查询数据... 查看详情

第四篇集合与容器(代码片段)

packagecom.zzp.demo.myCollection;/****用于HashMap*@authorjava**/publicclassNode2 inthash; Objectkey; Objectvalue; Node2next;  packagecom.zzp.demo.myCollection;/****自定义HashMap*@authorjava**/public 查看详情

django学习~第四篇

django表单  1 今天继续来学学django的表单    首先介绍下http的方法,这是最基本的    GET方法GET一般用于获取/查询资源信息,以?分割URL和传输数据,多个参数用&连接,login.action?name=hyddd&... 查看详情

第四篇io流技术(代码片段)

packagecom.zzp.demo01;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.io.InputStream;/****第一个程序理解操作步骤*1、创建源*2、选择流*3、操作*4、释放资源* 查看详情

abp异常处理第四篇(代码片段)

异常ABP异常分类 ABP的异常基类源代码ABPException的源代码如下///<summary>///BaseexceptiontypeforthosearethrownbyAbpsystemforAbpspecificexceptions.///</summary>[Serializable]publicclassAbpException:Exceptio 查看详情

第四篇:控制语句

控制语句有三种分支语句:if循环语句:while、repeat、for与程序转移有关的跳转语句:break、return 分支语句--if结构if表达式then    语句块(在表达式为真的时候得到执行)end--ifelse结构if表达式then语句块(在表达式为... 查看详情