十三. 正则表达式

正则表达式用于定义一些字符串的规则,计算机可以根据正则表达式,来检查一个字符串是否符合规则,将字符串中符合规则的内容提取出来。

创建正则表达式对象

构造函数

var reg = new RegExp("正则表达式", "匹配模式");
匹配模式:
i 忽略大小写
g 全局匹配模式

字面量

使用字面量创建正则表达式

var reg = /a/i;
// 等价于
var reg = new RegExp("a", "i");

测试

test()方法可以用来检测一个字符串是否符合正则表达式的规则,如果符合则返回true,否则返回false。

语法

检查一个字符串中是否有a或b:reg = /a|b/

[]里的内容也是或的关系:[ab] = a|b、[a-z] 任意小写字母、[A-z]任意字母

检查一个字符串中是否含有abc或adc或aec:reg = /a[bde]c/

检查一个字符串中不含有啊:reg = [^a]

通过量词{}设置一个内容出现的次数

检查一个字符串中是否含有aaa:reg = /a{3}/

检查一个字符串中是否含有ababab:reg = /(ab){3}/

检查一个字符串中是否含有abc或abbc或abbbc:reg = /ab{1,3}c/

检查一个字符串中是否含有abbc或abbbc或······:reg = /ab{2,}c/

其他常用量词:

+:至少1个,相当于{1,}

*:0个或多个,相当于{0,}

?:0个或1个,相当于{0,1}

检查一个字符串中是否以a开头:reg = /^a/

检查一个字符串中是否以a结尾:reg = /a$/

如果在一个正则表达式中同时使用^$,则要去字符去必须完全符合正则表达式。

检查一个字符串中是否以a开头,以a结尾:reg = /^a[A-z]*a$/

匹配电话号码:reg = /^1[3-9][0-9]{9}$/

检查一个字符串中是否含有.reg = /\./.在正则表达式中匹配任意字符)

使用构造函数时,由于它的参数是一个字符串,而\是字符串中的转义字符,如果需要使用\则需要使用\\来替代。

var reg = new RegExp("\.");
// 等价于
var reg = /./;
var reg = new RegExp("\\\\");
// 等价于
var reg = /\\/; // 匹配\
\w 任意字母、数字、_ [A-z0-9_]
\W 除了字母、数字、_ [^A-z0-9_]
\d 任意数字 [0-9]
\D 除了数字 [^0-9]
\s 空格
\S 除了空格
\b 单词边界 // 独立单词 例如:匹配child reg = /\bchild\b/;
\B 除了单词边界

去除开头或结尾的空格:str.replace(/^\s*|\s*$/g, "")

匹配电子邮件:邮件格式为:1a_ + . + (1a_) + @ + 1a + . + a + . + (a)

例子:hello.nihao@abc.com.cn

\w{3,} (\.\w+)* @ [A-z0-9]+ (\.[A-z]{2,5}){1,2}

var emailReg = /^\w{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]{2,5}){1,2}$/;

正则表达式匹配URL参数:

var reg = new RegExp('(^|&)'+ name +'=([^&]*)(&|$)');
// 直接开始或以&开始
// 任意个非&元素
// 以$或&结束

JavaScript学习 Ⅵ (正则表达式)的更多相关文章

  1. 深入浅出的javascript的正则表达式学习教程

    深入浅出的javascript的正则表达式学习教程 阅读目录 了解正则表达式的方法 了解正则中的普通字符 了解正则中的方括号[]的含义 理解javascript中的元字符 RegExp特殊字符中的需要 ...

  2. JavaScript:学习笔记(3)——正则表达式的应用

    JavaScript:正则表达式的应用 应用正则表达式对象RegExp 创建正则表达式 JavaScript中使用RegExp对象来表述一个正则表达式.使用正则表达式之前首先要创建一个RegExp对象 ...

  3. WGZX:javaScript 学习心得--1

    标签: javascriptiframedreamweaver浏览器htmltable 2008-09-11 10:50 1071人阅读 评论(0) 收藏 举报  分类: UI(21)  1,docu ...

  4. 如何使用JavaScript和正则表达式进行数据验证

    利用客户端JavaScript的优势,JavaScript中的正则表达式可以简化数据验证的工作,下面与大家分享下如何使用JavaScript和正则表达式进行数据验证,感兴趣的朋友可以参考下哈 数据验证 ...

  5. JavaScript学习--(智能社视频)

    JavaScript学习,这是智能社官网上的JS视频,讲解的挺不错的,就是没有视频的demo,在视频中附上自己编写的一些demo... 下载地址:http://pan.baidu.com/s/1cPz ...

  6. javascript学习-类型判断

    javascript学习-类型判断 1.类型判断的的武器 javascript中用于类型判断的武器基本上有以下几种: 严格相等===,用来判断null,undefined,true,false这种有限 ...

  7. JavaScript学习笔记(十五)——对象之Date,RegExp

    在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/ ...

  8. javascript学习笔记(四) Number 数字类型

    数字格式化方法toFixed().toExponential().toPrecision(),三个方法都四舍五入 toFixed() 方法指定小数位个数  toExponential() 方法 用科学 ...

  9. JavaScript 引入方式 语言规范 语言基础 数据类型 常用方法 数组 if_else 比较运算符 for while 函数 函数的全局变量和局部变量 {Javascript学习}

    Javascript学习 JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript ...

随机推荐

  1. protobuf安装流程

    protobuf安装流程 环境 平台 ​ Ubuntu16.04 依赖 autoconf automake libtool curl make g++ 安装流程 在Ubuntu / Debian上,您 ...

  2. 关于thinkphp5下URL附加参数,无法获取到(?参数)

    nginx 配置问题: 修改配置后:

  3. CAS(乐观锁)与ABA问题

    cas是什么 CAS 全称 compare and swap 或者compare and exchange  比较并且交换.用于在没有锁的情况下,多个线程对同一个值的更新. cas原理 例如,我们对一 ...

  4. Java 源码刨析 - HashMap 底层实现原理是什么?JDK8 做了哪些优化?

    [基本结构] 在 JDK 1.7 中 HashMap 是以数组加链表的形式组成的: JDK 1.8 之后新增了红黑树的组成结构,当链表大于 8 并且容量大于 64 时,链表结构会转换成红黑树结构,它的 ...

  5. tensorflow-TFRecord 文件详解

    TFRecord 是 tensorflow 内置的文件格式,它是一种二进制文件,具有以下优点: 1. 统一各种输入文件的操作 2. 更好的利用内存,方便复制和移动 3. 将二进制数据和标签(label ...

  6. Java学习笔记4(多线程)

    多线程 多个程序块同时运行的现象被称作并发执行.多线程就是指一个应用程序中有多条并发执行的线索,每条线索都被称作一条线程,它们会交替执行,彼此间可以进行通信. 进程:在一个操作系统中,每个独立执行的程 ...

  7. keycode 大全:

  8. JavaWeb的登陆与注销功能

    JavaWeb 登录与注销 大致流程 一般我们在Web应用中 登录页面一般是以 login.jsp的首页 大致流程如下: 当我们在前台写入用户名和密码之后,点击登录按钮 会将表单提交给一个LoginS ...

  9. SSM-框架搭建-tank后台学习系统

    一.前言 最近收到很多网友给我私信,学习软件开发有点吃力,不知道从何处开始学习,会点基础但是做不出来什么项目, 都想放弃了.我就回复道:当下互联网飞速发展,软件开发行业非常吃香而且前景相当不错.希望能 ...

  10. vipkid 面试经历

    今天下午去了位于钟鼓楼旁边的 vipkid 研发部进行了面试,面试过程中的回答只能说一般,面试官问的问题大概分为: 实际项目的设计问题 mysql的使用优化问题 多线程与锁的问题 JVM底层原理的问题 ...