JS中的正则表达式

·  字符串操作

var str='asdfghert';

//alert(str.search('s'));        //查找位置,没有就是-1
//alert(str.substring(2,5));     //获取子字符串,不包括结束位置
//alert(str.charAt(1));          //返回字符串的某一位
var str1='123-asd-gf-ewr-zxc';
alert(str1.split('-'));          //字符串分割,获得数组
·  找出数字(字符串操作)
var str='asd123 xzcv324 =-014 as23'
var tmp='';
var arr=[];

for (var i=0;i<=str.length;i++)
{
	if(str.charAt(i)>='0' && str.charAt(i)<='9')
	{
		tmp+=str.charAt(i);
	}
	else
	{
		if(tmp)
		{
			arr.push(tmp);
			tmp='';
		}
	}
}

if(tmp)
{
	arr.push(tmp);
	tmp='';
}
·  找出数字(正则)
var str='asd123 xzcv324 =-014 as23'

alert(str.match(/\d+/g));
·  第一个正则表达式
var str='ncAdaS'

//忽略大小写找出a
//JS写法
var re=new RegExp('a','i');
//perl写法
var re=/a/i;
alert(str.search(re));
·  match(把所有匹配的东西提取出来)

var str='asd123 asdas3453 asd678';
//  /\d/:找数字 ,/\d+/:若干(多少都可以),/\d/g:找到全部的数字 
var re=/\d+/g;

alert(str.match(re));
·  replace(替换)
var str='d43 4s6 654';
var re=/4/g
//把4全部替换成*
alert(str.replace(re,'*'));
·  敏感词过滤
oBtn.οnclick=function ()
	{
		var re=/淘宝|北京/g;//把淘宝、北京都替换成**实现过滤效果
		oTxt2.value=oTxt1.value.replace(re ,'**');
	};
·  方括号

var str='apx 56x rpx 1px qpx 9px';

//a,r,q 任选一个和px匹配
//var re=/[arq]px/g;

//把0-9范围之间的数字全部提取出来
//var re=/[0-9]/g

//排除0-9的数字
var re=/[^0-9]/g
alert(str.match(re));
·  过滤HTML标签
oBtn.οnclick=function ()
	{
		var re=/<[^<>]+>/g;
		oTxt2.value=oTxt1.value.replace(re, '');
	};
·  邮箱校验

oBtn.οnclick=function ()
	{
		var re=/^\w+@[a-z0-9]+\.[a-z]+$/i;

		if(re.test(oTxt.value))
		{
			alert('合法邮箱');
		}
		else
		{
			alert('错误邮箱');
		}
	};

笔记:

JS中的正则表达式


·正则表达式基础-1
1.复习字符串操作
(1)seach      查找 (位置,没有就是-1)
(2)substring  获取子字符串(截取子字符串,没有结束位置)
(3)charAt     返回字符串的某一位 
(4)split      字符串分割,获得数组
2.找出字符串中的所有数字
(1)传统方法
(2)用正则表达式完成


·正则表达式基础-2
1.什么是正则表达式
(1)什么是正则 ---规则、模式
(2)强大的字符串匹配工具
(3)RegExp对象:
JS风格 : new RegExp('a')    new RegExp('a','i') 
perl风格 : /a/  忽略大小写:/a/i


·字符串与正则配合 
1.忽略大小写:i——ignore
2.全局匹配:g——global
3.量词:+
4.例子:找出所有数字
转义:/\d/,找数字 ;/\d/g 找到全部的数字;/\d+/若干(多少都可以)
5.match:把所有匹配的东西提取出来
6.replace();替换  例子:过滤敏感词汇.


·方括号
1.任意字符:o[usb]t——obt、ost、out
2.范围:/d 就是[0-9]
3.排除:[^0-9],除了数字以外的
4.组合:[a-z0-9A-Z]
5.实例:偷小说
6.过滤HTML标签
(1)任意字符: .(点)
(2)除了什么以外:  ^(前面加这个符号)


·转义字符
\d  数字 [0-9]
\w  英文、数字、下划线 [a-z0-9_]
\s  空白字符
\D  除了数字0-9    [^0-9]  
\W                  [^a-z0-9_]
\S  非空白字符


·量词
{n}     正好出现n次
{n,m}   最少n次,最多m次
{n,}    最少n次,最多不限
+ {1,}
? {0,1}  可有可无
*       {0,}       (尽量不用)


·常用正则例子
邮箱校验
1.test 正则检验 :字符串一部分符合要求,就返回true
2.^ (行首)
3.$ (行尾)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值