js学习笔记(正则表达式)

关于js里的一些心得(正则表达式)


这些心得是萌新作者再学习过程中的作业上发现的,希望大佬们如果发现有错误和有更加好的意见务必提出。

	正则表达式定义的是一个规则,一个与字符串匹配的规则。

我的题目是:
1.字符串中只能有字母或数字
2.至少是8位
3.数字至少出现两次

<script>
			//输入
			var str = prompt();
			// 验证
			function inspection(password) {
				if (str.length >= 8 && (new RegExp(/[a-z0-9]/i).test(str)) && (new RegExp(/[0-9]{2,}/i).test(str))) {
					alert("valid password");
				} else
					alert("invalid password");
			}
			inspection(str);
		</script>

其中正则表达式要通过一个RegExp对象来定义
可写为:

var reg=new RegExp(……);

其中括号里为定义的规则
规则:
/ /里的内容

^和$分别是以什么开头和结尾
例如
/^a/ 为以a开头
/a$/为以a结尾

里面的内容为横向比较,加上[]为纵向比较
例如
/ab/有a和b
/[a或b]/有a或b

/ /中的大括号
{出现的最少次数,出现的最多次数}
例如
/a{2,3}/ 表示匹配a连续出现两到三次的字符串
像aabbaaabb
但超过三个也能被匹配如aaaaaabbb

还有几个常见简略写法
\D除了数字
\d数字
\w数字字母
\w除了数字字母
\s 查找空白字符。

n+ 至少一个 n 的字符串。
n*零个或多个 n 的字符串
n?零个或一个 n 的字符串

/后面的i g
i是忽略大小写匹配
g是进行全局匹配
m是进行多行匹配

还有一些用法会之后完善。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值