js中的正则表达式

来源:互联网 发布:python数据分析实战 编辑:程序博客网 时间:2024/05/29 03:59

正则表达式是什么:

    正则表达式是一种强大的字符串匹配工具。

正则表达式就是RegExp对象,它的写法有两种风格(一般用第二种)

    1.js风格——new RegExp("a", "i");    2.perl风格——/a/i

正则的特性:会尽可能匹配最长的字符串。

正则的使用:下面的规则任意组合。

\转义:
(注:如果想用规则里面的字符本身,那么前面就要加\,e.g. \d匹配的字符就是\d)

\d  [0-9]       数字\w  [a-z0-9_]   数字、字母、下划线\s          所有空白字符\D  [^0-9]      除了数字\W  [^a-z0-9_]  除了数字、字母、下划线\S          除了所有空白字符.           任意字符(最好不要用)

{}量词:

    {n,m}   最少n次,最多m次    {n,}    最少n次,最多不限    {n} 正好n次+   {1,}    若干?   {0,1}   可有可无*   {0,}    几个都行(最好不用)

[]元字符:

任意字符:[abc]  匹配a或匹配b或匹配c的字符段    e.g.    a[xyz]pc,那么匹配的字符就是axpc,aypc,azpc范围:[0-9]    在0-9之间的数字排除:[^0-9]   除了数字以外的字符

组合:

[a-z0-9A-Z] 

可以与正则配合使用的方法:

str.search(reg)     返回匹配字符出现的位置str.match(reg)      返回所有匹配的字符串数组str.replace(reg, s) 将匹配的字符段替换为s,返回替换后的字符串reg.test(str)       验证str是否符合reg规则,返回布尔值

/a|b|c/ 匹配a或匹配b或匹配c的字符段

^ 行首(字符串开头)
$ 行尾(字符串结尾)

i ignore 忽略大小写
g global 全局匹配,找到所有满足条件的

最后举一个email格式匹配的例子:

html核心代码:

    <input type="text" />    <button>校验</button>

js核心代码:

    var btn = document.getElementsByTagName('button')[0];    var email = document.getElementsByTagName('input')[0];    btn.onclick = function() {        var reg = /^\w+@[a-z0-9]+\.[a-z]+$/i;        if(reg.test(email.value)){            alert("是正确的email格式!");        }else{            alert("不是正确的email格式!");        }    }
0 0
原创粉丝点击