正则表达式 RegExp()//

字符串处理:
split(‘-‘) ,分割字符串
charAt(0), 提取某个字符
substring(1,5), 获取字符串
search(“a”) 返回位子,否则-1

正则表达式:字符串匹配工具
str.match(/\d+/g);//所有匹配以数组的形式返回
风格:

//1.js风格
var re = new RegExp('a');
var str = "abcdef";
alert(str.search(re));// 0
//2.perl风格
var re = /a/;
//加i,忽略大小写 ;加g,找全部
var re = new RegExp('a','i');
var re = /a/i;

转义:
\d 数字 [0-9] ; \D=[^0-9]
. 任意字符
\w 英文、数字、下划线[a-z0-9_] ; \W= [^a-z0-9_]
\s 空白字符

var str='jdjfdsf 34 656 jjjj33';
var re = /\d/;
alert(str(match(re));//3
var re = /\d/g; //global找全部:3,4,6,5,6,3,3
var re = /\d\d/g;//34,65,33两位
var re = /\d\d\d/g;//656三位

量词
{n}:正好n次
{n,m}:最少n次,最多m次
{n,}:最少n次,最多不限
+ = {1,}
? = {0,1}
* {0,} 不建议使用

var re = /\d+/g;//34,656,33
[1-9]\d{7}//八位电话号码
[1-9]\d{4,10}//5-11位QQ号
(0\d{2,3}-)?[1-9]\d{7}(-\d{1,5});//固话号码

replace

var str = 'abc aaa erw';
alert(str.replace('a','0'));//"0bc aaa erw";只替换第一个
var re = /a/g;
alert(str.replace(re,'0');//"0bc 000 erw";全部a被替换
//敏感词过滤
var re = /北京|淘宝|百度/g;
str.replace(re,"***");

[]元字符,方括号

//1.[abc]或:
var str = "apc xpc ppc bpc spc tpc";
var re = /[apx]pc/g;
alert(str.match(re));//apc,xpc,ppc
//2.范围
var re = /[0-9]+/g;//同 var re = /\d+/g;
//3.排除
var re = /[^a-z]+/g;//除字母都要
[^a-z0-9]//除数字和英文以外

eg:过滤html标签

var re = /<.+>/g;//贪婪,匹配尽可能多的字符
var re = /<[^<>]+>/g;//除了<>的任意字符

eg: 邮箱校验

var re = /\w+ @ [a-z0-9]+ \. [a-z]/i;
re.test(oTex.value);
//贪婪:test()--字符串中一部分符合要求,true;
//eg: ---是blue@zhinengshe.com  true
优化:
var re = /^\w+@[a-z0-9]+\.[a-z]+$/i;
//eg: ---是blue@zhinengshe.com false

^ 行首(字符串开头),不出现在[]里面
$ 行尾

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值