正则表达式

1.元字符--是用于构建正则表达式的符号

●                匹配任何字符,换行符除外.

\d              匹配任何数字字符.

\w             匹配任何字符数字(字母或数字)字符.

\s              匹配空格(空格包括空白字符、tab、换行符、return/enter).

^              字符串需以模式起始.

$              字符串需以模式结束.

|               让模式指定一连串可供选择的子模式(或者).

2.限定符--控制子模式,出现于正则表达式的次数

*               限定符出前的子模式必须出现0或多次

+              限定符前的子模式必须出现1或多次

?             限定符前的子模式必须出现0或1次

{n}            限定符前的子模式必须出现恰好n次

{n,m}        限定符前的子模式至少出现n次,最多出现m次

{n,}           限定符前的子模式至少出现n次(>=n)

{,m}          限定符前的子模式最多出现(<=m)

3.字符类:[Character Class]  ----以方括号围起来

等价写法字符类
\d[0-9]   数字字符
\D[^0-9]  非数字字符
\s[\t\n\x0b\f\r]   空白符
\S[^\t\n\x0b\f\r]   非空白符
\w[a-zA-Z-0-9]  单词字符(字母、数字、下划线)
\W[^a-zA-Z-0-9]   非单词字符

4.范围类 [  ]:

如果表示数字:[0123456789]

可以使用范围类:[0-9]

所有字母:[a-zA-Z]

5.Reg Exp(Regular Expression)对象的属性:

g:     global,全文搜索,默认搜索到第一个结果才停止

i:      ingoreCose,忽略大小写,默认大小写敏感

m:    multiplelines,多行搜索

例:

var reg = /j.*/ig;
reg.global;
console.log(reg.global); //true

6.方法的判断

(1)test(字符串)方法:仅仅判断字符串是否能够匹配正则表达式,匹配返回为true,不匹配返回为false.

(2)match(要搜索的字符串)方法,可在字符串内搜索指定的子字符,并返回到一个数组中.

(3)match(reg)方法,匹配一个或多个正则表达式的字符串,返回到数组中.

(4)replace(要搜索的字符串,替换成什么字符串)方法,用于在字符串中用一些字符替换成另一个字符.

(5)replace(正则表达式,替换成什么字符串)方法,或替换一个与正则表达式匹配的子串.

(6)search(字符串)方法用于搜索字符串中指定的子字符串,返回第一次匹配的起始位置,没有匹配的返回-1.

(7)search(正则表达式)或检索与正则表达式相匹配的子字符串,返回第一次匹配的起始位置,没有匹配的返回-1.

(8)split(字符串分隔符)方法,用于搜索指定分隔符,将字符串按照指定分隔符分割,并返回字符串数组.

(9)split(正则表达式)方法,用于搜索匹配正则表达式,将字符串按照指定匹配正则表达式进行分隔,并返回字符串数组.

例:

HTML:

    <form action="#" name="form1" method="POST">
        <label for="#">手机号:<input type="text" name="tel"><input type="button" value="验证手机号" name="but" onclick="checktel()"><span id="span1"></span><br></label>
        <label for="#">座机号:<input type="text" name="tel1"><input type="button" value="验证座机号" name="but1" onclick="checktel1()"><span id="span2"></span><br></label>
        <label for="#">邮箱号:<input type="text" name="tel2"><input type="button" value="验证邮箱号" name="but2" onclick="checktel2()"><span id="span3"></span><br></label>
    </form>

JS:

function checktel() {
    var telreg = /^(13|15|17|18)\d{9}$/; //手机号
    var mytel = document.form1.tel.value;
    if (telreg.test(mytel)) {
        document.getElementById("span1").innerHTML = "手机号格式正确";
    } else {
        document.getElementById("span1").innerHTML = "手机号格式错误";
    }
}

function checktel1() {
    var telreg = /^\d{3,4}\-\d{7,8}$/; //座机号
    var mytel = document.form1.tel1.value;
    if (telreg.test(mytel)) {
        document.getElementById("span2").innerHTML = "座机号格式正确";
    } else {
        document.getElementById("span2").innerHTML = "座机号格式错误";
    }
}

function checktel2() {
    var telreg = /^[a-z0-9]+@[a-z0-9]+\.[a-z0-9]+$/i; //邮箱号(忽略大小写的验证)
    var mytel = document.form1.tel2.value;
    if (telreg.test(mytel)) {
        document.getElementById("span3").innerHTML = "邮箱号格式正确";
    } else {
        document.getElementById("span3").innerHTML = "邮箱号格式错误";
    }
}

示例图:

例:

JS:

var str = "张麻子,你今天好好学习了吗?";
var reg = /张../g; //正则表达式对象
var arr = str.match(reg); //可在字符串内搜索指定的子字符,并返回到一个数组中
// alert(arr);
console.log(arr);

var str1 = "TTlink5";
var reg1 = /[A-Z]/g;
var reg2 = /[a-z]/g;
var reg3 = /[0-9]/g;
if (str1.search(reg1) >= 0) {
    console.log("包含大写"); //检索与正则表达式相匹配的子字符串,返回第一次匹配的起始位置,没有匹配的返回-1
}
if (str1.search(reg2) >= 0) {
    console.log("包含小写");
}
if (str1.search(reg3) >= 0) {
    console.log("包含数字");
}

var str4 = "崔~~,我是你的学生!";
var strreg = /崔.{2}/g;
console.log(str4.replace(strreg, "崔老师")); //在字符串中用一些字符替换成另一个字符

示例图:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值