什么是正则表达式:

简单的说,正则表达式是一种可以用于模式匹配和替换的强大工具。在几乎所有的基于UNIX/LINUX系统的软件工具中找到正则表达式的痕迹,例如:Perl或PHP脚本语言。此外,JavaScript这种客户端的脚本语言也提供了对正则表达式的支持,现在正则表达式已经成为了一个通用的概念和工具,被各类技术人员所广泛使用。
正则表达式基本语法
一、创建JavaScript正则(RegExp)对象
var reg = RegExp('s');
var reg = /s/; // 简写方式 推荐使用 不能为空 不然会以为是注释
二、预定义符
开始前先看一些符号表达的意思才好帮助你对下面的例子可以迅速的理解
\s : 空格
\S : 非空格
\d : 数字
\D : 非数字
\w : 字符
\W : 非字符
\i : 不区分大小写
\g : 全局匹配(一般正则找到第一个符合条件的就会停止,在后面加上这个符合就会告诉正则继续往下不要停)
| : 或
. : 任意字符
\b : 独立的部分 ( 起始,结束,空格 )
\B : 非独立的部分
\n : 重复的某个子项,例如
var reg = /(a)(b)(c)\1/; //=> abca 重复了a子项
如需使用真正的符号例如“.”,只需添加\即可,如\.
三、常用的几个方法
1. test() => 在字符串中查找符合正则指定的内容,若找到返回true,否则返回false
// 用法:正则.test(字符串)
var data = '123456789987654321';
var reg = /\d/; // \d这里代表数字
if( reg.test(str) ){
console.log('内容为数字');
console.log(reg.test(str)) // 返回 true
}
2. match() => 在字符串中查询符合正则指定的内容,成功则返回内容(数组格式),否则返回null
// 用法:字符串.match(正则) var data = '123456mple789Mple875654'; var reg = /mple/gi; console.log(data.match(reg)); // mple,Mple
3. search() => 在字符串中查询符合正则指定的内容,成功找到则返回当前内容的位置从0开始(如不止一个内容符合正则条件,则返回第一个找到的位置),如果没找到则返回-1
// 用法:字符串.search(正则) var data = '1234mple56789Mple987mple654321'; var reg = /mple/gi; console.log(data.search(reg)); // 4
4. replace() => 在字符串中查询符合正则指定的内容,查找到则替换对应内容并返回替换后的内容
// 用法:字符串.replace(正则,新的字符串/回调函数)
var data = '啦啦啦~一大堆啦啦啦';
var reg = /啦/g;
var rep = data.replace(reg,function(data){
var ne = '';
for(var i=0; i<data.length; i++){
ne += '*';
}
return ne;
});
console.log(rep);
5. exec() => 查找并返回当前的匹配结果,以数组的形式返回
//用法:正则.exec(字符串) var data = "1234mple5678mple99876mple543Mple21"; var reg = /mple/ig; var s = reg.exec(data) console.log(s.index); //4
6. split() = 正则分割字符串
7. sort():数组中的排序方法,按照ACALL码进行排序
8. join():数组中的方法,把数组转换为字符串
var data = '4445554654123156489151321456';
var arr = data.split('');
data = arr.sort().join('');
console.log(data);
四、常用量词
{n,m} : 至少出现n次,最多m次
{n,} : 至少n次
* : 任意次 相当于{0,}
? :零次或一次 相当于{0,1}
+ : 查找的结果至少出现一次或任意次 {1,}
{n} : 正好n次
最后来个例子理解理解,判断QQ号
HTML
<input class="qq" type="text" placeholder="请输入QQ号"> <button type="button" class="sub">检测</button>
正则
//先来看看我们日常登录的QQ号有哪些性质
1 首位肯定不是为0
2 必须是5-10位的数字
var oInput = document.querySelector('.qq');
var oSub = document.querySelector('.sub');
var reg = /^[1-9]\d{4,9}$/;
//为了防止最后几位数出现字母abc之类的情况,所以需要添加$进行尾数限制
//所以最后的逻辑是这样的,首位是0-9,接着是4-9位的数字类型。
oSub.onclick = function(){
if( reg.test(oInput.value) ){
alert('检测成功');
}else{
alert('账户不存在');
}
};
以上所述是小编给大家介绍的正则表达式(简单易懂篇),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# 正则表达式
# 详解Java判断是否是整数
# 小数或实数的正则表达式
# iOS 中使用正则表达式判断身份证格式及银行卡号格式是否正确(推荐)
# 利用js正则表达式校验正数、负数、和小数
# python利用正则表达式提取字符串
# Android判断11位手机号码的方法(正则表达式)
# python 根据正则表达式提取指定的内容实例详解
# 就会
# 第一个
# 首位
# 小编
# 啦啦
# 组中
# 几个
# 是一种
# 最多
# 的说
# 在此
# 是这样
# 只需
# 推荐使用
# 给大家
# 请输入
# 不存在
# 你对
# 技术人员
相关文章:
网站制作话术技巧,网站推广做的好怎么话术?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
Swift中swift中的switch 语句
网站图片在线制作软件,怎么在图片上做链接?
网站制作公司广州有几家,广州尚艺美发学校网站是多少?
建站之星×万网:智能建站系统+自助建站平台一键生成
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
南宁网站建设制作定制,南宁网站建设可以定制吗?
全景视频制作网站有哪些,全景图怎么做成网页?
如何设计高效校园网站?
网站制作服务平台,有什么网站可以发布本地服务信息?
如何高效配置香港服务器实现快速建站?
如何实现建站之星域名转发设置?
宝塔面板如何快速创建新站点?
外汇网站制作流程,如何在工商银行网站上做外汇买卖?
如何在万网自助建站平台快速创建网站?
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
如何在云指建站中生成FTP站点?
如何选择最佳自助建站系统?快速指南解析优劣
建站主机默认首页配置指南:核心功能与访问路径优化
c# 服务器GC和工作站GC的区别和设置
如何在Golang中引入测试模块_Golang测试包导入与使用实践
建站之星各版本价格是多少?
网站设计制作企业有哪些,抖音官网主页怎么设置?
如何用搬瓦工VPS快速搭建个人网站?
制作营销网站公司,淘特是干什么用的?
网站企业制作流程,用什么语言做企业网站比较好?
建站之星导航配置指南:自助建站与SEO优化全解析
高防服务器租用首荐平台,企业级优惠套餐快速部署
如何在腾讯云免费申请建站?
网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?
制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
如何通过商城免费建站系统源码自定义网站主题?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
建站主机功能解析:服务器选择与快速搭建指南
制作电商网页,电商供应链怎么做?
北京专业网站制作设计师招聘,北京白云观官方网站?
如何选购建站域名与空间?自助平台全解析
如何快速上传建站程序避免常见错误?
制作销售网站教学视频,销售网站有哪些?
如何高效利用200m空间完成建站?
专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?
建设网站制作价格,怎样建立自己的公司网站?
攀枝花网站建设,攀枝花营业执照网上怎么年审?
婚礼视频制作网站,学习*后期制作的网站有哪些?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
小型网站制作HTML,*游戏网站怎么搭建?
*请认真填写需求信息,我们会在24小时内与您取得联系。