JavaScript之正则表达式


JavaScript有两种方式创建正则表达式,其实用法是一样的,只是写法上面稍有不同罢了
1.直接通过一些个特殊符号({3,8} \d . * ^ $ [] )等来去进行匹配。 var reg=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
2.通过函数体new RegExp('')创建一个RegExp对象。然后使用test()或者exec()进行匹配区分var reg = new RegExp('^[A-Za-zd]+([-_.][A-Za-zd]+)*@([A-Za-zd]+[-.])+[A-Za-zd]{2,5}$');
首先我们学习一下最基础的正则表达式。从一个个实例开始学起吧
   1.判断邮箱格式是否正确的js表达式怎么写?
 
function check(){
    var mail=$('#mail').val();
    var reg1 =/^[A-Za-z]+([-_.][A-Za-z]+)*@([A-Za-z]+[-.])+[A-Za-z]{2,5}$/;
  var reg2 = new RegExp('^[A-Za-z0-9]+([-_.][A-Za-z0-9]+)*@([A-Za-z0-9]+[-.])+[A-Za-z]{2,5}$');
  if(reg2.test(mail)){
   document.getElementById("mail_msg").innerHTML="邮箱格式正确";
  }else{
   document.getElementById("mail_msg").innerHTML="邮箱格式不正确";
  }
   }


其中^表示行的开头,$表示行的结束,*表示任意个字符(包含0个),+表示至少一个字符,{n,m}表示n-m个字符,
[0-9a-zA-Z\_]表示可以匹配一个数字,字母或者下划线。
[0-9a-zA-Z\_]+表示可以匹配至少由一个数字,字母或者下划线组成的字符串。
(0-9a-zA-Z)(0-9a-zA-Z)表示分组的意思, ssss@126
   2.RegExp()这个函数的一些使用方式
 reg.test(string)表示通过reg的正则表达式返回true或者false
 reg.exec(string)表示通过reg的正则表达式匹配成功返回Array组数,失败返回null
 例如:下面格式
 var reg=/^(\d{3})-(\d{3,8})$/;
      alert(reg.exec('010-12345'));//['010-12345', '010', '12345']
   alert(reg.exec('010 12345'));//null
   3.JavaScript经常见到的特殊标志:
 var r1 = /test/g;
 // 等价于:
 var r2 = new RegExp('test', 'g');
 例如如下格式:
 String.match()与RegExp.exec() 相同点和不同点
 
function check3(){
    var r1 = /test/g;
  // 等价于:
  var r2 = new RegExp('test', 'g');
  alert('testME'.match(r2));//test
  alert(r2.exec('test,Me,test12'));//test
  alert(r2.lastIndex);//12
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值