巩固内容

正则表达式:

5. 指定字符串的开始和结尾 正则表达式中字符串的开始和结束符如表 2.6 所示。 表 2.6 开 始 和 结 尾 字符 作 用 ^ 指定以某个字符串开始 $ 指定以某个字符串结尾 ^和$ 表示精确匹配某个字符串 示例: ^zhang:匹配以“zhang”开头的任意字符串,如“zhangsan”。 cn$:匹配以“cn”结束的任意字符串,如“sina.com.cn”。 ^[a-z]$:匹配只包含 a~z 之间任意一个字符的字符串,如“a”。 注意:如果一个模式不包括^和$,那么它与任何包含该模式的字符串匹配。 思考:^[a-z]和[a-z]$分别匹配什么样的字符串?

6. 分支 正则表达式中表示分支的字符如表 2.7 所示。 表 2.7 分 支 字符 作 用 | 表示匹配多个模式串中的任意一个 第 2 章 输 入 45 示例: com|edu|net:匹配 com、edu 或 net。

7. 匹配特殊字符 在匹配特殊字符的时候需要用到转义字符,如表 2.8 所示。

表 2.8 特 殊 字 符 字符 作 用 \ 用来转义特殊字符 示例: \\:匹配一个反斜杠。 \.:匹配一个圆点。

下面举例说明一些常见用法: ^[a-zA-Z][a-zA-Z0-9_]*$:匹配以字母开头,由字母、数字和下划线组成的字符串,如 “abc_123”。

^[a-zA-Z0-9]{6,}$:匹配由字母和数字组成、长度不少于 6 位的字符串,如“123456”。

^[0-9]{4}-[0-9]{2}-[0-9]{2}$:匹配格式为“xxxx-xx-xx”的字符串,要求 x 只能是数字。 常用于匹配日期,如“2007-05-01”。

^[a-zA-Z][a-zA-Z0-9_\-]*@([a-zA-Z0-9\-]+\.)+[a-z]{2,3}$:常用于匹配 E-mail。要求@符 号前面是以字母开头,由字母、数字、下划线或减号组成的字符串;

@符号后面的域名可以 包含多个字符串,每个字符串由字母、数字或减号组成;

最后一级域名只能包含 2 个或 3 个字母(例如 cn、com 等)。

^0[0-9]{2,3}-[0-9]{7,8}$:常用于匹配电话号码。

要求区号由 0 开始,包含 3 到 4 位数 字,区号和电话号码之间用减号分隔,电话号码由 7 位或者 8 位数字组成。

下面的例子展示了如何在 JavaScript 中使用正则表达式,其功能是对电话号码格式进行 验证:

function isPhone(str) { if(str.match("^0[0-9]{2,3}-[0-9]{7,8}$")) return true; else return false; }

巩固javaweb的第二十七天的更多相关文章

  1. NeHe OpenGL教程 第二十七课:影子

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  2. javaSE第二十七天

    第二十七天    447 1:反射(理解)    447 (1)类的加载及类加载器    447 (2)反射:    448 A:定义    448 B:获取字节码对象的三种方式    449 (3) ...

  3. 《Linux命令行与shell脚本编程大全》 第二十七章 学习笔记

    第二十七章:shell脚本编程进阶 监测系统统计数据 系统快照报告 1.运行时间 uptime命令会提供以下基本信息: 当前时间 系统运行的天数,小时数,分钟数 当前登录到系统的用户数 1分钟,5分钟 ...

  4. Gradle 1.12用户指南翻译——第二十七章. Ear 插件

    其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...

  5. SQL注入之Sqli-labs系列第二十七关(过滤空格、注释符、union select)和第二十七A

    开始挑战第二十七关(Trick with SELECT & UNION) 第二十七A关(Trick with SELECT & UNION) 0x1看看源代码 (1)与26关一样,这次 ...

  6. “全栈2019”Java多线程第二十七章:Lock获取lock/释放unlock锁

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  7. centos samba/squid 配置 samba配置 smbclient mount fstab自动挂载samba curl -xlocalhost:3128 www.qq.com squid配置 3128 DNSPOD 第二十七节课

    centos  samba/squid 配置  samba配置 smbclient  mount fstab自动挂载samba curl -xlocalhost:3128 www.qq.com squ ...

  8. “全栈2019”Java第二十七章:流程控制语句中循环语句for

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  9. 孤荷凌寒自学python第二十七天python的datetime模块及初识datetime.date模块

    孤荷凌寒自学python第二十七天python的datetime模块及初识datetime.date模块 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.datetime模块 dateti ...

随机推荐

  1. 第08课 OpenGL 混合

    混合: 在这一课里,我们在纹理的基础上加上了混合,它看起具有透明的效果,当然解释它不是那么容易,当希望你喜欢它. 简单的透明OpenGL中的绝大多数特效都与某些类型的(色彩)混合有关.混色的定义为,将 ...

  2. exec系统调用 && 进程的加载过程

    exec系统调用会从指定的文件中读取并加载指令,并替代当前调用进程的指令.从某种程度上来说,这样相当于丢弃了调用进程的内存,并开始执行新加载的指令. exec系统调用会保留当前的文件描述符表单.所以任 ...

  3. MySQL基础学习——SQL对数据库进行操作、对数据库的表进行操作

    1.SQL对数据库进行操作: 创建数据库: 语法: create database 数据库名称 [character set 字符集 collate 字符集校对规则];字符集校对规则即所用字符集的数据 ...

  4. maven中的distributionManagement的作用

    mvn install  会将项目生成的构件安装到本地Maven仓库,mvn deploy 用来将项目生成的构件分发到远程Maven仓库. 本地Maven仓库的构件只能供当前用户使用,在分发到远程Ma ...

  5. 【JAVA】笔记(5)--- final;抽象方法;抽象类;接口;解析继承,关联,与实现;

    final: 1.理解:凡是final修饰的东西都具有了不变的特性: 2.修饰对象: 1)final+类--->类无法被继承: 2)final+方法--->方法无法被覆盖: 3)final ...

  6. 8大原则带你秒懂Happens-Before原则

    摘要:在并发编程中,Happens-Before原则是我们必须要掌握的,今天我们就一起来详细聊聊并发编程中的Happens-Before原则. 本文分享自华为云社区<[高并发]一文秒懂Happe ...

  7. Python基础(list与tuple)

    #list 类似于数组的概念 classmates = ['傻狗1','傻狗2','傻狗3'] # print(classmates) # print(len(classmates)) # print ...

  8. vue3 学习笔记 (四)——vue3 setup() 高级用法

    本篇文章干货较多,建议收藏! 从 vue2 升级到 vue3,vue3 是可以兼容 vue2 的,所以 vue3 可以采用 vue2 的选项式API.由于选项式API一个变量存在于多处,如果出现问题时 ...

  9. [luogu3781]切树游戏

    考虑暴力的dp,即用$f_{i,j}$表示以$i$为根的子树内,强制$i$必须选且异或为$j$的方案数,转移用FWT即可,求出该dp数组的时间复杂度为$o(nm\log_{2}m)$ 由于是全局的方案 ...

  10. 列生成算法(求解Cutting Stock问题)

    列生成是用于求解大规模线性优化问题的一种算法,其实就是单纯形法的一种形式.单纯性可以通过不断迭代,通过换基变量的操作,最终找到问题的最优解.但是当问题的规模很大之后,变量的个数就会增大到在有限时间内无 ...