为了账号安全,请及时绑定邮箱和手机立即绑定

正则表达式基础

标签:
Java

正则表达式基础

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));

 

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

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

var str='abcdef'

alert(str.search(re));

 

   第二种var re=/b/i;

   var str='aBcdef'

   alert(str.search(re));

 

 

 

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

\d  数字

var str='aqq 23  3  vaqwd'

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

alert(str.match(re));

 

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

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));

 

6、replace 替换

下面例子把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-z和0-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(’不合法的邮箱’);

 

}

 

 

 


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消