JavaScript基础-06-正则表达式
正则表达式
1. 正则表达式用于定义一些字符串的规则:计算机可以根据正则表达式,来检查一个字符串是否符合规则,将字符串中符合规则的内容提取出来。
2. 创建正则表达式对象:
var reg=new RegExp("正则表达式","匹配模式"); //结果:/内容/
匹配模式:值:i:忽略大小写
g:全局匹配模式
使用字面量来创建正则表达式:
语法:var 变量=/正则表达式/匹配模式;
var express=/a/i;
var result=express.test("abcdse");
console.log(result);
检查一个字符串中是否有a或b:
var express=/a|b|c/i;
或var express=/[ab]/i;
检查是否有字母:[A-z]
检查是否有abc,adc,aec:
var express=/a[bde]c/i;
[^ab]:除了ab以外都为true
[0-9]:任意数字
[a-z]:任意小写字母
3. 正则表达式的方法:test( )使用这个方法可以用来检查一个字符串是否符合正则表达式,符合返回true,不符合返回false;
var str='a'; //用来检验字符串中是否含有a
var result=reg.test(str);
console.log(result);
4. 字符串与正则表达式
split:把字符串分割为字符串数组。
根据字母拆分字符串: //不指定全局匹配也会全部改变
var express='a1b2n3v4b5c5g7';
result=express.split(/[0-9]/);
console.log(result);
search:搜索字符串中是否含有指定内容
若搜索到指定内容,则返回第一次出现的索引,若没有搜索到返回-1
只会查找第一个
var express="a1 b2 n3 v4 b5 c5g7";
result=express.search('a1');
console.log(result);
var express="a1 b2 abc v4 aec c5g7";
result=express.search(/a[be]c/);
console.log(result);
match( ):根据正则表达式,从一个字符串中将符合条件的内容提取出来
默认情况下只会找到第一个符合要求的内容,找到以后就停止检索,将正则表达式设置为全局匹配,就会匹配到所有内容。
会将匹配到的内容封装到一个数组中返回,即使只搜索到一个结果。
var express="a1b2abcv4aecc5g7";
result=express.match(/[A-z]/gi);
console.log(result);
replace():将字符串中指定内容替换为新的内容。
参数:被替换的内容,可以接受一个正则表达式作为参数
新内容
默认只替换第一个
var express="a1b2abcv4aecc5g7";
result=express.replace(/b/gi,"g"); //删除字母:新内容为“”
console.log(result);
5. 量词:通过量词可以设置一个内容出现的次数:{n}正好出现n次,量只对它前面一个内容起作用;(ab){3}==ababab;
ab{1,3}c:出现一次到三次b
ab{3, }c:出现三次以上b
ab+c:出现至少一个b
ab*c:出现0个或多个b
ab?c:出现0个或1个b
^a:以a开头
a$:以a结尾
^a|a$:以a开头或者以a结尾
^a$:只能是一个a
var str=/a{3}/;
6. 检查一个字符串是否为一个合法手机号
以1开头 ^1
第二位3-9任意数字 [3-9]
三位以后任意数字 [0-9]{9}$
var reg=/^1[3-9][0-9]{9}$/;
console.log(reg.test('13953975005'));
7. 检查一个字符串中是否含有.
. 表示任意字符
使用 \ 来表示转义字符,使用 \ . 来表示 .
在构造函数要使用 \ 要利用 \\ 来代替
\w |
任意数字、字母、_、[A-z 0-9] |
\W |
除了任意数字、字母、_、[A-z 0-9] |
\d |
任意数[ 0-9] |
\D |
除了任意数[ 0-9] |
\s |
空格 |
\S |
除了空格 |
\b |
单词边界 |
\B |
除了单词边界 |
var reg=/\bchild\b/;
console.log(reg.test('hello children'));
8. 接收一个用户的输入
var str=prompt("请输入你的用户名:");
//去除字符串中前后的空格,使用“”替换空格
str=str.replace(/^\s*|\s*$/g,"");
console.log(str);
9. 写一个电子邮件的正则
任意的字母数字下划线 . 任意的字母数字下划线@ 任意字母数字 .任意字母(2-5). 任意字母(2-5)
\w{3,} (\.\w+)* @ [A-z0-9]+ ( \.[A-z]{2-5}){1,2}
可以在网上搜索
JavaScript基础-06-正则表达式的更多相关文章
- javascript基础06
javascript基础06 splice var del_arr = del.splice(0,2); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返 ...
- JavaScript基础知识-正则表达式
正则表达式 作用:定义一个特定的验证字符串内容规则的表达式 注:正则表达式并不是JavaScript独有的:JavaScript支持正则表达式 var a = { }; // 定义一个空对象 ...
- JavaScript基础06——字符串
字符串的创建: 字符串的创建: var str = "hello world"; //常量,基本类型创建 var str2 = new String("hello wor ...
- 从零开始学习前端JAVASCRIPT — 9、JavaScript基础RegExp(正则表达式)
1:正则的概念 正则表达式(regular expression)是一个描述字符规则的对象.可以用来检查一个字符串是否含有某个子字符串,将匹配的子字符串做替换或者从某个字符串中取出符合某个条件的子串等 ...
- JavaScript基础06——Math对象和日期对象
内置对象-Math: Math对象用于执行 数学任务,Math 不像 Date 和 String 那样是对象的类,因此没有构造函数Math().无需创建,直接把Math当成对象使用,就可以调用其所有 ...
- JavaScript基础插曲—元素样式,正则表达式,全局模式,提取数组
JavaScript基础学习 学习js的基础很重要,可以让自己有更多的技能.我相信这个以后就会用到. Eg:点击选择框,在div中显示出选择的数量 window.onload = function() ...
- JavaScript基础系列目录(2014.06.01~2014.06.08)
下列文章,转载请亲注明链接出处,谢谢! 链接地址: http://www.cnblogs.com/ttcc/tag/JavaScript%20%E5%9F%BA%E7%A1%80%E7%9F%A5%E ...
- JavaScript基础入门06
目录 JavaScript 基础入门06 Math 对象 Math对象的静态属性 Math对象的静态方法 指定范围的随机数 返回随机字符 三角函数 Date对象 基础知识 日期对象具体API 构造函数 ...
- 前端之JavaScript基础
前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript历史 1992年Nombas开发出C ...
- Javascript中的正则表达式
Javascript中的正则表达式 刚开始接触正则表达式的时候,觉得这是个很死板的东西(没办法,计算机不能像人眼一样能很快的辨认出我们需要的结果,它需要一定的规则来对它进行限制),了解的越多,发现这个 ...
随机推荐
- ElementUI 级联选择框 设置最后一级可选及相关问题解决
在使用 elementUI 的 el-cascader 级联选择框进行省市联动效果时,有这么一个需求:该级联选择框一共有三级结构分别为国家-省份-城市,国家和省份为必选项,城市为可选项.具体实现如下: ...
- 题解 洛谷 P3298 【[SDOI2013]泉】
考虑到年份数很小,只有 \(6\),所以可以 \(2^6\) 来枚举子集,确定流量指数对应相同的位置,然后通过哈希和排序来计算相同的方案数. 但是这样计算出的是大于等于子集元素个数的方案数,所以还需要 ...
- Java7/8 中的 HashMap 和 ConcurrentHashMap
Java7 HashMap 数组+链表 Java7 ConcurrentHashMap Segment数组+HashEntry数组链表+ReenTrantLock分段锁 Java8 HashMa ...
- windows系统远程修改密码
1.需求:公司需要短时间.批量修改一些windows系统的管理员密码: 2.准备工作: a.下载软件:链接:https://pan.baidu.com/s/1kV52DqE1_4siPuxS5Mosc ...
- matplotlib 去掉坐标轴
#去掉x轴 plt.xticks([]) #去掉y轴 plt.yticks([]) #去掉坐标轴 plt.axis('off') 2020-06-26
- PHP Cookie是什么
PHP Cookie cookie 常用于识别用户. Cookie 是什么? cookie 常用于识别用户.cookie 是一种服务器留在用户计算机上的小文件.每当同一台计算机通过浏览器请求页面时,这 ...
- PDOStatement::bindValue
PDOStatement::bindValue — 把一个值绑定到一个参数(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) 说明 语法 bool PDOStateme ...
- JDK下载和安装教程,超详细
下载并安装JDK JDK的全称是JavaSE Development Kit,即java开发工具包,是sun公司提供的一套用于开发java应用程序的开发包,它提供了编译.运行java程序所需的各种工具 ...
- Redis服务之常用数据类型
上一篇博客我们聊了下redis的主从复制.aof持久化.集群.慢日志相关配置指令的说明,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13416534.html ...
- 【python接口自动化】- ConfigParser配置文件的使用
前言:目前我们使用的绝大多数计算机程序,无论是办公软件,浏览器,甚至游戏.视频都是通过菜单界面系统配置的,它几乎成了我们使用机器的默认方式.而在python中,也有这样的一个配置模块可以把代码可配置化 ...