正则表达式基础

简介:

正则表达式基础

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 ,如需转载请自行联系原作者

相关文章
|
9月前
学习正则表达式
学习正则表达式
32 0
|
6天前
|
C++
正则表达式基础
正则表达式基础
|
6月前
|
自然语言处理 Rust 算法
【算法】10. 正则表达式匹配(多语言实现)
给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 . 和 * 的正则表达式匹配。 . 匹配任意单个字符 * 匹配零个或多个前面的那一个元素 所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。
正则表达式 获取功能
使用正则表达式获取符合规则的子串
|
Python
【Python零基础入门篇 · 25】:正则基础、正则的高级用法、贪婪匹配与非贪婪匹配、原生字符串
【Python零基础入门篇 · 25】:正则基础、正则的高级用法、贪婪匹配与非贪婪匹配、原生字符串
182 0
【Python零基础入门篇 · 25】:正则基础、正则的高级用法、贪婪匹配与非贪婪匹配、原生字符串
|
Linux Python
30 分钟轻松搞定正则表达式基础
![](https://ceshiren.com/uploads/default/original/3X/3/d/3dd370fe849dfbae00034a32587f4431165fb220.jpeg) 提起正则表达式,可能大家的第一印象是:既强大好用但也晦涩难懂。正则表达式在文本处理中相当重要,各大编程语言中均有支持(跟 Linux 三剑客结合更是神兵利器)。 正则表达式是对字符串操作的一
正则表达式 - 基础篇
正则表达式 - 基础篇
229 0
正则表达式 - 基础篇
|
算法 Shell Linux
正则表达式基础 | 学习笔记
快速学习正则表达式基础。
152 0
|
自然语言处理
正则表达式学习总结
正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。
1799 0
正则表达式学习总结