JavaScript正则表达式

正则表达式

创建正则表达式

var 变量=new RegExp(“正则表达式”,“匹配模式”)
	var reg = new RegExp("a","i");//检测是否有a
或使用字面量
var reg=/正则表达式/匹配模式
	reg =/a/i;

使用typeof检测时,返回object

var reg = new RegExp("a");//检测是否有a
var str = "a";
正则表达式的方法:test( )
	使用这个方法可以用来检查一个字符串是否符合正则表达式的规则,
	如果符合则返回true,否则返回false
	var result =reg.test(str);
	console.1og(result) ;//true

检测是否有a: var reg = new RegExp("a");
检测是否有a或b或c: reg=/a|b|c/;或reg=[abc];
检测是否有小写字母:reg=[a-z];
检测是否有大写字母:reg=[A-Z];
检测是否有任意字母:reg=[A-z];
检测一个字符串中是否含有abc或adc或aec:reg=/a[bde]c/
检测[^]表示除了:reg=/[^ab]/;reg=[^0-9];//除了数字
检测是否有任意数字:reg=[0-9];
检测
检测

字符串和正则表达式的方法

var str="abcb343f435";

split()将字符串拆分成数组
	var res=str.split(/[A-z]/)
search()可以搜索字符串中是否含有指定内容
			如果搜索到指定内容,则会返回第一次出现的索引,如果没有搜索到返回-1
			它可以接受一一个正则表达式作为参数,然后会根据正则表达式去检索字符串
	var res=str.search(/a[bcd]c/)
match( )
		可以根据正则表达式,从一一个字符串中将符合条件的内容提取出来
		默认情况下我们的match只会找到第一个符合 要求的内容,找到以后就停止检索
		我们可以设置正则表达式为全局匹配模式,这样就会匹配到所有的内容
		可以为一个正则表达式设置多个匹配模式,且顺序无所谓
		match( )会将匹配到的内容封装到一个数组中返回,即使只查询到一个结果

		result = str.match(/[a-z]/gi);//全局匹配,忽略大小写
replace()
		可以将字符串中指定内容替换为新的内容
		参数:
			1.被替换的内容,可以接受正则表达式作为参数
			2.新的内容
		默认只会替换第一个
	result = str.replace(/[a-z]/gi ,"@_@" );
		

正则表达式语法

量词:
	--通过量词设置一个内容出现的次数
	--量词只对它前边的一-个内容起作用
	--{n}正好出现n次
	--{m,n}出现m到n次
	--{m,} m次以上
	--+至少一个,相当于{1,}
	--*0个或多个,相当于{0, }
	--? 0个或1个,相当于{0,1} 

		//aaabbd
		var reg = /a{3}/ ;
		/ /ababab
		reg = /(ab){3}/;
检查是否以a开头
	reg=/^a/
检查是否以a结尾
	reg=/a$/
检查是否以a开头且结尾
	reg=/^a$/

例子

检查是否是手机号
	手机号的规则:
		13567890123 (11位 )
		1.以1开头
		2.第二位3-9任意数字
		3.三位以后任意数字9个
	^1 [3-9] [0-9]{9}$
var phoneStr = "13567890123";
var phoneReg = /^1[3-9][0-9]{9}$/;
console.log(phoneReg.test( phoneStr));//true

检查一个字符串中是否含有.
	.表示任意字符
在正则表达式中使用\作为转义字符\.来表示。
var reg =/\./ 或 reg =new RegExp("\\.")

创建一个正则表达式检查一个字符 串中是否含有单词child
	reg = /\bchild\b/ ;

//去除掉字符串中的所有空格
//去除空格就是使用""来替换空格
console.1og(str);
str = str .replace(/\s/g,"" );
console.1og(str);

/ /去除开头的空格
//str = str.replace(/^\s*/, "");
/ /去除结尾的空格
//str = str.replace(/\s*$/,"");
//去除掉字符串中的首尾空格
str =str.replace(/^\s*|\s*$/g,"");

电子邮件

hello. nihao @ abc .com.cn
任意字母数字下划线   .任意字母数字下划线   @   任意字母数字  .任意字母 (2-5位)    .任意字母 (2-5位)
\w{3,}   (\.\W+)*   @   [A-z0-9]+   (\.[A-z]{2,5}){1,2}
var emai=/^\w{3,}(\.\W+)*@[A-z0-9]+(\.[A-z]{2,5}){1,2}$/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值