JavaScript学习 Ⅵ (正则表达式)
十三. 正则表达式
正则表达式用于定义一些字符串的规则,计算机可以根据正则表达式,来检查一个字符串是否符合规则,将字符串中符合规则的内容提取出来。
创建正则表达式对象
构造函数
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学习 Ⅵ (正则表达式)的更多相关文章
- 深入浅出的javascript的正则表达式学习教程
深入浅出的javascript的正则表达式学习教程 阅读目录 了解正则表达式的方法 了解正则中的普通字符 了解正则中的方括号[]的含义 理解javascript中的元字符 RegExp特殊字符中的需要 ...
- JavaScript:学习笔记(3)——正则表达式的应用
JavaScript:正则表达式的应用 应用正则表达式对象RegExp 创建正则表达式 JavaScript中使用RegExp对象来表述一个正则表达式.使用正则表达式之前首先要创建一个RegExp对象 ...
- WGZX:javaScript 学习心得--1
标签: javascriptiframedreamweaver浏览器htmltable 2008-09-11 10:50 1071人阅读 评论(0) 收藏 举报 分类: UI(21) 1,docu ...
- 如何使用JavaScript和正则表达式进行数据验证
利用客户端JavaScript的优势,JavaScript中的正则表达式可以简化数据验证的工作,下面与大家分享下如何使用JavaScript和正则表达式进行数据验证,感兴趣的朋友可以参考下哈 数据验证 ...
- JavaScript学习--(智能社视频)
JavaScript学习,这是智能社官网上的JS视频,讲解的挺不错的,就是没有视频的demo,在视频中附上自己编写的一些demo... 下载地址:http://pan.baidu.com/s/1cPz ...
- javascript学习-类型判断
javascript学习-类型判断 1.类型判断的的武器 javascript中用于类型判断的武器基本上有以下几种: 严格相等===,用来判断null,undefined,true,false这种有限 ...
- JavaScript学习笔记(十五)——对象之Date,RegExp
在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/ ...
- javascript学习笔记(四) Number 数字类型
数字格式化方法toFixed().toExponential().toPrecision(),三个方法都四舍五入 toFixed() 方法指定小数位个数 toExponential() 方法 用科学 ...
- JavaScript 引入方式 语言规范 语言基础 数据类型 常用方法 数组 if_else 比较运算符 for while 函数 函数的全局变量和局部变量 {Javascript学习}
Javascript学习 JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript ...
随机推荐
- Flutter实战】文本组件及五大案例
老孟导读:大家好,这是[Flutter实战]系列文章的第二篇,这一篇讲解文本组件,文本组件包括文本展示组件(Text和RichText)和文本输入组件(TextField),基础用法和五个案例助你快速 ...
- [julia][学习笔记]julia的安装
目录 julia的安装 下载地址 下载后安装 IDE Julia Pro 安装方法 使用方法(以hello world为例) vscode的Julia插件 下载vscode 安装vscode Juli ...
- 组态与非组态结合的LT
概述 最新的应用软件快速搭建平台现已投入使用.首先对名称进行规范统一一下. 英文全称:LARKIN-CN.TOP : 中文全称:拉图: 简称:LT. 特点: 组态软件开发的快速.灵活 C端软件的控件交 ...
- filebeat v6.3 如何增加ip 字段
我们知道filebeat获取数据之后是会自动获取主机名的,项目上有需要filebeat送数据的时候送一个ip字段出来 方法:配置filebeat配置文件 解释一下:field 是字段模块 在这个模块下 ...
- laravel表单中文错误提示本地化
<?php return [ /* |-------------------------------------------------------------------------- | V ...
- 3 年经验的 Java 后端妹子,横扫阿里、滴滴、美团,整理出这份厚厚的 8000 字面经!
自序 这次面试的公司有一点点多,主要是因为毕业后前两份工作找的都很草率,这次换工作就想着,emm,毕业三年了,该找个工作好好沉淀几年了. 先说下这次面试的结果吧: 到 hr 面的:阿里.美团.滴滴.金 ...
- c++ UDP套接字客服端代码示范
c++ UDP套接字客服端代码示范 #include<winsock2.h> //包含头文件 #include<stdio.h> #include<windows.h&g ...
- Java中时间处理
旧 API:位于 java.util 包中,里面主要有 Date.Calendar.TimeZone 类 新 API:位于 java.time 包中,里面主要有 LocalDateTime.Zoned ...
- 对select函数的理解
对select函数的理解 1. 处理多个socket链接的方法 阻塞模式下服务端要解决多个客户链接的问题的3个思路: 每个客户端的socket对应一个内核线程,在这个线程内部进行阻塞的read 单线程 ...
- IDEA解决SVN频繁弹出登录框
将HTTP请求改成SVN就可以了,或者请项目经理开启SVN中的HTTP请求