正则表达式基础

简介:

正则表达式基础

1.    Search 查找某个字符的位置

var str='abcdef'

alert(str.search('a'))

 

 

 

2.Substring   获取子字符串

var str='abcdef'

alert(str.substring(2-5))//从字符串中截取2-5 但是不包括5

也可以传进去一个参数 从哪个参数直接截取到结尾

var str='abcdef'

alert(str.substring(2))//从第二个位置开始截取到末尾

 

3.CharAt      获取某个字符

var str='abcdef'

alert(str.charAt('2'))//获取2位置上的值

 

 

4.Split        分割字符串,获得数组

var str='12-22-aa-9'

var arr=str.split('-')

alert(arr)

 

 

 

二、正则表达式

1、什么是正则表达式:可以理解为一个规则,也叫规则表达式

 

正则表达式有2种方法写

第一种 js风格

var re=new RegExp('b') 这个里面的b就代表b本身

var str='abcdef'

alert(str.search(re));

第二种perl风格

var re=/b/跟第一种效果一样

var str='abcdef'

alert(str.search(re));

 

2i的用法(忽略大小写)

第一种var re=new RegExp('b', 'i')

var str='abcdef'

alert(str.search(re));

 

   第二种var re=/b/i;

   var str='aBcdef'

   alert(str.search(re));

 

 

 

3match 把所有匹配的东西,全部提取出来

\d  数字

var str='aqq 23  3  vaqwd'

var re=/\d/;找数字,但是只能找一个

alert(str.match(re));

 

4g可以把所有数字找出来

var str='aqq 23  3  vaqwd'

var re=/\d/g;找数字,全部找出来,但是不是连起来的,比如23会变成2,3

alert(str.match(re));

 

5、想解决上面不是连起来的问题使用+号,表示若干

var str='aqq 23 222 3  vaqwd'

var re=/\d+/g;

alert(str.match(re));

 

6replace 替换

下面例子把a替换成0

var str='aqq 23 222 3  vaqwd'

var re=/a/g;

alert(str.replace(re,'0'))

多个替换的写法

Var re=/北京|百度|淘宝/g

 

 

7、分括号[] 专业叫法是元字符,我习惯叫方括号

用法1:[abc]这是一种或的用法abc取那个都行

var str='apc xpc dpc ipc ppc'

        var re=/[apx]pc/g;

        alert(str.match(re))

效果看一下就明白了

用法2[a-z] [0-9]范围

var str='a22c 33 dp44 445 ppc'

       

        alert(str.match(/[0-9]+/g))

 

 

 

用法3[^a-z]排除a-z

var str='a22c 33 dp44 445 ppc'

       

        alert(str.match(/[^0-9]+/g))

 

用法4:组合起来用[^a-z0-9]排除a-z0-9

 

 

8、过滤HTML标签的方法,比如小说里面都有好多标签 给过滤掉

var re=/<[^<>]+>/g

 

9\d 数字 [0-9]  

\w 英文 数字 下划线 [a-z0-9_]

\s 空白字符

 

\D [^0-9]

\W [^a-z0-9_]

\S 非空白字符

 

 

10、量词

 

{n} 正好出现n

\d{8} 8位数字

电话号码是非0开始的所以[1-9]\d{7}

 

{n,m} 最少n次,最多m

QQ号码最少5位数字而且开头是非0,写法是

[1-9]\d{4,10}

 

 

{n,}最少n次,最多不限

 

 

+  等价于{1}最低出现一次,最多不限

  等价于{0,1}最少1次,最多1次,也就是可有可无

*等价于{0}

 

 

 

11、邮箱校验

blue@zhinengshe.com正常邮箱

一串英文、数字、下滑线   @   一串英文、数字  .   一串英文

\w+                      @   [a-z0-9]+       \.   [a-z]+

 

Var re=/^\w+@[a-z0-9]+\.[a-z]+$/i   // test检验正则是否符合规则。正确返回true 不确定为flase

Test有个特性  字符串一部分符合要求,就可以返回true

^不出现在方括号里面

代表^行首和$行尾

 

if(re.test(oTxt.value))

{

Alert(’合法的邮箱’)

}

else

{

Alert(’不合法的邮箱’)

 

}

 

 

  

本文转自新网学会 51CTO博客,原文链接:http://blog.51cto.com/xwxhvip/2050573 ,如需转载请自行联系原作者

相关文章
|
XML Dubbo fastjson
FastJson - 设置默认参数,全局配置方式及爬坑
FastJson - 设置默认参数,全局配置方式及爬坑
2122 0
|
算法 测试技术
详细设计文档格式
1、背景 (背景、原因) 2、名词解释 (对文档中出现新的或不常见的名词、概念或简略语给出定义和解释) 3、设计目标 3.1、实现的功能 (概要描述要实现的功能,列出要实现的功能点及子功能点,并对每一个功能点进行详细说明。
5938 0
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
AI时代职业新风口:调研报告揭示57.2%受访者向往AI领域,生成式人工智能(GAI)认证成职场新宠
人工智能(AI)正成为职场新宠,57.2%受访者考虑从事相关职业。AI领域不仅薪资优厚、前景广阔,还充满创新挑战。生成式人工智能(GAI)认证逐渐成为衡量AI技能的重要标准,助力求职者掌握核心知识、提升实战能力及增强合规意识。面对AI时代的机遇与挑战,持续学习、关注行业动态和拓展人脉将成为职场竞争的关键。让我们共同迎接AI带来的美好未来!
|
监控 应用服务中间件 持续交付
EDAS
【7月更文挑战第27天】
967 9
|
Java 网络安全 开发工具
【Azure 事件中心】Event Hub 无法连接,出现 Did not observe any item or terminal signal within 60000ms in 'flatMapMany' 的错误消息
【Azure 事件中心】Event Hub 无法连接,出现 Did not observe any item or terminal signal within 60000ms in 'flatMapMany' 的错误消息
578 1
|
Java API 容器
Java 8 的流库:Filter、Map、FlatMap 及 Optional 的概念与用法
【6月更文挑战第9天】Java 8 引入了许多强大的新特性,其中流库(Stream API)和 Optional 类极大地简化了集合操作和空值处理。本文将深入探讨 filter、map、flatMap 以及 Optional 的概念和用法,并提供示例代码来展示其实际应用。
500 4
|
存储 安全 网络安全
SSL VPN
SSL VPN
796 5
|
机器学习/深度学习 算法 Linux
xenomai内核解析--实时内存管理--xnheap
Xenomai是一个实时操作系统(RTOS)层,用于Linux,旨在提供确定性的任务调度和服务。其内存管理机制包括一个名为xnheap的内存池,确保内存分配和释放的时间确定性,以满足硬实时系统的严格需求。
414 0
xenomai内核解析--实时内存管理--xnheap
|
存储 并行计算 算法
大模型量化技术解析和应用
眼看人工智能含智能量越来越高含人量越来越低,是否开始担心自己要跟不上这趟高速列车了?内心是否也充满好奇:大模型背后的奥秘是什么?为何如此强大?它能为我所用吗?哪种技术最适合我的需求?
|
机器学习/深度学习 人工智能 搜索推荐
构建未来:AI驱动的自适应教育平台
【4月更文挑战第30天】 随着人工智能技术的迅猛发展,其在教育领域的应用正逐步从理论探索走向实践落地。本文将详细阐述一个基于AI技术的自适应学习平台的设计理念、核心功能以及潜在影响。该平台利用机器学习算法分析学生的学习行为和成绩,动态调整教学内容和策略,以实现个性化教学。研究结果表明,AI辅助的自适应学习能够显著提高学习效率,同时为教师提供强有力的教学辅助工具。