JavaScript的正则表达式(Regular Expression)

资料:正则表达式30分钟入门教程-附常用表达式

1、什么是正则表达式,什么用?

正则表达式:Regular Expression
正则表达式主要用在字符串格式匹配方面。
在这里插入图片描述

2、正则表达式实际上是一门独立的学科,在Java语言中支持,C语言中也支持,javascript中也支持。

大部分编程语言都支持正则表达式。正则表达式最初使用在医学方面,用来表示神经符号等。目前使用最多
的是计算机编程领域,用作字符串格式匹配。包括搜索方面等。

3、正则表达式,对于我们javascript编程来说,掌握内容

  • 第一:常见的正则表达式符号要认识。
  • 第二:简单的正则表达式要会写。
  • 第三: 他人编写的正则表达式要能看懂。
  • 第四:在javascript当中,怎么创建正则表达式对象!(new对象
  • 第五:在javascript当中,正则表达式对象哪些方法!(调方法
  • 第六:要能够快速的从网络上找到自己需要的正则表达式。并且测试其有效性。

4、常见的正则表达式符号?

. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束

* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次

\W 匹配任意不是字母,数字,下划线,汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符

正则表达式当中的小括号()优先级较高。
[1-9] 表示1到9的任意1个数字(次数是1次。
[A-Za-z0-9] 表示A-Za-z0-9中的任意1个字符
[A-Za-z0-9-] 表示A-Z、a-z、0-9、- ,以上所字符中的任意1个字符。

| 表示或者
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、简单的正则表达式要会写

QQ号的正则表达式:

^[1-9][0-9]{4,}$

email正则:

^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

6、他人编写的正则表达式要能看懂

email正则:^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$

7、怎么创建正则表达式对象,怎么调用正则表达式对象的方法

第一种创建方式:
var regExp = /正则表达式/flags;
第二种创建方式:使用内置支持类RegExp
var regExp = new RegExp(“正则表达式”,“flags”);

关于flags:

  • g:全局匹配
  • i:忽略大小写
  • m:多行搜索(ES规范制定之后才支持m。当前面是正则表达式的时候,m不能用。只前面是普通字符串的时候,m才可以使用。

正则表达式对象的test()方法?

  • true / false = 正则表达式对象.test(用户填写的字符串);
  • true : 字符串格式匹配成功
  • false: 字符串格式匹配失败

加从头到尾与不加的区别:
// 要求字符串中是否包含 至少3个连续的a

var patt = /a{3,5}/;
alert(patt.test("1223aaaaaaaaalll"));

在这里插入图片描述
要求字符串,从头到尾都必须完全匹配

var patt = /^a{3,5}$/;
alert(patt.test("1223aaaaaaaaalll"));

在这里插入图片描述

8.举例:邮箱地址是否合法

<body>
<script type="text/javascript">
    window.onload = function () {
        document.getElementById("btn").onclick = function(){
            var email = document.getElementById("email").value;
            var emailRegExp =/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
            var ok = emailRegExp.test(email);
            if(ok){
                document.getElementById("emailError").innerText = "邮箱地址合法";
            }else{
                document.getElementById("emailError").innerText = "邮箱地址不合法";
            }
        }
        // 给文本框绑定focus
        document.getElementById("email").onfocus = function () {
            document.getElementById("emailError").innerText = "";
        }
    }
</script>
<input type="text" id="email"/>
<span style=" color:red;font-size:12px" id="emailError"></span>
<br/>
<input type="button" value="验证邮箱" id="btn"/>

</body>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值