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中的正则表达式 刚开始接触正则表达式的时候,觉得这是个很死板的东西(没办法,计算机不能像人眼一样能很快的辨认出我们需要的结果,它需要一定的规则来对它进行限制),了解的越多,发现这个 ...
随机推荐
- patelinux 安装
参考文档:https://china.xilinx.com/support/documentation/sw_manuals/xilinx2017_2/ug1144-petalinux-tools-r ...
- 在 vue 中使用 WebSocket
<template> <div class="hello"> <h1>{{ msg }}</h1> <h1>{{ res ...
- 五分钟带你深入了解Redis
相信phper都知道Redis是什么,既然如此,为表仪式感,首先我还是得说说什么是Redis. Redis是什么 redis是一个高性能的key-value数据库,它是完全开源免费的,而且redis是 ...
- ActiveMQ【CVE-2016-3088】上传公钥实现sssh免密登录
Apache-ActiveMQ是apache旗下的消息中间件,至今为止还是有较多的甲方爸爸们,还在使用该中间件.据了解,Apache-ActiveMQ中间件有2个厉害的CVE,一个是CVE-2016- ...
- Spring bean初始化
- 借鉴一个比较标准的后端RESTful API
我们制定的 API 规范,使用了微服务架构所以做了一些改进,我们更偏向使用 http code 标识,不然需要自己处理成功或失败的逻辑,在 200 内再包一层显得啰嗦:并且微服务系列都不支持,Feig ...
- JSONObject遍历
导入JSONObject和JSONArray所需要的jar包 JSONObject所必需的6个jar包: commons-beanutils-1.7.0.jar commons-collections ...
- Airflow Dag可视化管理编辑工具Airflow Console
Airflow Console: https://github.com/Ryan-Miao/airflow-console Apache Airflow扩展组件, 可以辅助生成dag, 并存储到git ...
- Python unichr() 函数
描述 unichr() 函数 和 chr() 函数功能基本一样, 只不过是返回 unicode 的字符.高佣联盟 www.cgewang.com 注意: Python3 不支持 unichr(),改用 ...
- K近邻算法(一)
K 近邻算法思想: 寻找该点周围最近的K个点.根据这K 个点的类别来判断该点的类别: 核心: 数据归一化.(在必要的时候必须进行数据归一化处理,防止某一特征在计算数据时占比较重) 计算欧拉距离 . 使 ...