js中的正则表达式(一)

意义
关于正则表达式,我们为什么要用正则表达式呢?生活中会遇到填写电话号码,邮件的,这些计算机可以根据正则表达式,来检查一个字符串是否符合规则,或者将符合规则的内容提取出来,也就是可以判断我们输入是否符合规范

用法
使用构造函数创建正则表达式
正则表达式是一个对象
var reg=new RegExp(“正则表达式”,“匹配模式”);
在构造函数中 可以传递一个匹配模式作为第二个参数(可以是i 忽略大小写 ,g 全局匹配模式)

var reg2=new RegExp("a","i");
//此时a就是正则表达式
//这个正则表达式可以用来判断一个字符串是否含有a
var str="a";
var result=reg2.test(str);
console.log(result);//true

正则表达式方法test()
可以用来检测这个方法是否符合正则表达式的规则
如果符合会返回true,否则会返回false

使用字面量来创建正则表达式
语法 变量var 变量=/正则表达式/匹配模式
使用字面量创建会更加简单,使用构造函数创建会更加灵活

var reg = /a/i;
console.log(reg.test("a"));//true
//以上是检查是否含有字符a

规则
1.创建一个正则表达式检查是否有a或者b
使用|表示或者

	reg = /a|b/;
		console.log(reg.test("ac"));
		console.log(reg.test("bcd"));
		console.log(reg.test("ab"));
		//同时 reg=/[ab]/ 也同样表达 检查字符串中是否有a或者b

2.创建一个正则表达式检查是否有字母
同时中括号里的内容也是[]或者的意思
但是可以简写[a-z]

var reg4 = /[a-z]/; //表示任意小写字母
console.log(reg4.test("h"));
var reg5 = /[a-z]/i; //任意字母,不区分大小写 或者[A-z]//也可以表示任意字母
console.log(reg5.test("A"));

3.检查一个字母符中是否含有abc或者adc或者aec

reg5 = /abc|adc|aec/;
		console.log(reg5.test("abd"));
		//或者
		reg6 = /a[bde]c/i;
		console.log(reg6.test("adg"));

4.创建一个正则表达式是否有aaa

var reg1=/aaa/;
var result1=reg1.test("aababbcc");
console.log(result1);

但是如果a数量多,就可以使用量词,通过量词可以设置一个内容出现的次数
{n}正好出现n次
{m,n}出现m到n次
{m,}出现m次以上
+至少一个,相当于{1,}
*代表0个或者多个 相当于有没有都可以
? 表示0个或者一个,相当于{0,1};

var reg2=/a{3}/;//表示连续的3个a
		console.log(reg2.test("aabc"));
		//如果判断abababa
		var reg3=/ab{3}/;
		console.log(reg3.test("abababbb"));//true
		var reg6=/b{3}/;
		console.log(reg6.test("bbbb"));
			//如果有三个连续的b就可以

5指定出现次数

var reg7=/ab{1,3}c/;//这里的意思是a{b出现1到3次即可}c
console.log(reg7.test("abc"));
var reg8=/ab{3,}c/;//意思是b需要3次以上
console.log(reg8.test("abbbbbc"));
reg9=/ab+c/;//意思是b至少出现一次
console.log(reg9.test("abbbc"));
reg10=/ab*c/;
console.log(reg10.test("ac"));

6检查是否以指定字符结尾

//检查一个字符串是否以a开头
			//^表示开头
			//$表示结尾
			reg11=/a/;//但是这样是表示字符里是否有a
			console.log(reg11.test("abc"));
			reg12=/^a/;//匹配开头的a
			console.log(reg12.test("bsa"));
			reg12=/a$/;//表示结尾是否有a,匹配结尾的a
			console.log(reg12.test("sdvbga"));
			//如果需要以a开头 或者 以a结尾
			reg14=/^a|a$/;
			console.log(reg14.test("ahgfua"));//true
			console.log(reg14.test("hhjja"));//true

7.创建一个正则表达式是否是一个手机号 合法的手机号

	//手机号规则 11位  
	//第一位是1
	//第二位 不能是0,1,2,是3-9任意数字
	//第三位以后任意数字9个

	//^1[3-9][0-9]{9}$ $表示他之后不能再有其他内容
    var phone="13456677767";                        	       var reg15=/^1[3-9][0-9]{9}$/;
//如果写成了/[3-9][0-9]{9}/就表示去字符串里找,是否有字符串 						gdrhth13456677767bfnht
//但是我们要求不仅有,并且只能是一个手机号
console.log(reg15.test(phone));

太困了,明天补充剩下的正则表达式方法
再下一篇博客我们将介绍div如何随鼠标移动,加油

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript正则表达式和Java正则表达式在语法上有一些差异,但是它们的基本概念和用法是相似的。下面是将JavaScript正则表达式转换为Java正则表达式的一些常见规则: 1. 语法差异: - JavaScript正则表达式使用斜杠(/)作为定界符,而Java正则表达式使用双引号(")作为定界符。 - JavaScript正则表达式的特殊字符需要进行转义,而Java正则表达式的特殊字符不需要转义。 2. 字符类: - JavaScript正则表达式的字符类使用方括号([])表示,而Java正则表达式使用方括号([])或者Unicode转义(\p{...})表示。 - JavaScript正则表达式的字符类可以使用连字符(-)表示范围,而Java正则表达式需要使用Unicode转义(\uXXXX)表示范围。 3. 量词: - JavaScript正则表达式的量词使用花括号({})表示,而Java正则表达式使用花括号({})或者问号(?)表示。 - JavaScript正则表达式的贪婪量词默认是贪婪模式,而Java正则表达式的贪婪量词需要在后面添加问号(?)来表示非贪婪模式。 4. 边界匹配: - JavaScript正则表达式的边界匹配使用插入符号(^)和美元符号($)表示,而Java正则表达式使用\A和\Z表示。 5. 其他差异: - JavaScript正则表达式的捕获组使用圆括号(())表示,而Java正则表达式使用圆括号(())或者方括号([])表示。 - JavaScript正则表达式的反向引用使用反斜杠加数字(\1、\2等)表示,而Java正则表达式使用美元符号加数字($1、$2等)表示。 以上是一些常见的JavaScript正则表达式转换为Java正则表达式的规则。具体转换时,还需要根据具体的正则表达式进行适当的调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值