【JavaScript】正则表达式

  【正则表达式】

   正则表达式(regular expression)又称规则表达式。是一个描述字符模式的对象。主要用来验证客户端的输入数据,用户填写完表单单击按钮之后,表单就会被发送到服务器,在服务器端通常会用 PHP、ASP.NET 等服务器脚本对其进行进一步处理 。因为客户端验证,可以节约大量的服务器端的系统资源,并且提供更好的用户体验。

   正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
   给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
   1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);
   2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。

  【特点】

   1. 灵活性、逻辑性和功能性非常的强;
   2. 可以迅速地用极简单的方式达到字符串的复杂控制。
   3. 对于刚接触的人来说,比较晦涩难懂。

  【创建】

  

   第一种: 

<span style="font-family:KaiTi_GB2312;font-size:18px;">var box = new RegExp('box', 'ig');  //参数是字符串、可选模式修饰符</span>
   第二种:
<span style="font-family:KaiTi_GB2312;font-size:18px;">var box = /box/ig; //在第二个斜杠后面加上模式修饰符</span>

  【测试】

  

  第一种:使用test方法

<span style="font-family:KaiTi_GB2312;font-size:18px;">var pattern = /box/i; //创建正则模式,不区分大小写
var str = 'This is a Box!';
alert(pattern.test(str));</span>
<span style="font-family:KaiTi_GB2312;font-size:18px;">/*<span style="font-family: KaiTi_GB2312;">使用一条语句实现正则匹配</span><span style="font-family: KaiTi_GB2312;">*/</span>
alert(/box/i.test('This is a Box!')); //模式和字符串替换掉了两个变量

</span>
 第二种:使用exec返回匹配数组

var pattern = /box/i;

var str = 'This is a Box!';

<span style="font-family:KaiTi_GB2312;font-size:18px;">alert(pattern.exec(str)); //匹配了返回数组,否则返回 null</span>

 【常用的正则】

  1、检查邮政编码

<span style="font-family:KaiTi_GB2312;font-size:18px;">var pattern = /[1-9][0-9]{5}/; //共 6 位数字,第一位不能为 0
var str = '224000';
alert(pattern.test(str));</span>

  2、检查文件压缩包

<span style="font-family:KaiTi_GB2312;font-size:18px;">var pattern = /[\w]+\.zip|rar|gz/; //\w 表示所有数字和字母加下划线
var str = '123.zip'; //\.表示匹配.,后面是一个选择
alert(pattern.test(str));</span>

  3、删除多余空格

var pattern = /\s/g; //g 必须全局,才能全部匹配

<span style="font-family:KaiTi_GB2312;font-size:18px;">var str = '111 222 333';
var result = str.replace(pattern,''); //把空格匹配成无空格
alert(result);</span>

  4、删除首尾空格

<span style="font-family:KaiTi_GB2312;font-size:18px;">var pattern = /^\s+/; //强制首
var str = ' goo gle ';
var result = str.replace(pattern, '');
pattern = /\s+$/; //强制尾
result = result.replace(pattern, '');
alert('|' + result + '|');
var pattern = /^\s*(.+?)\s*$/; //使用了非贪婪捕获
var str = ' google ';
alert('|' + pattern.exec(str)[1] + '|');
var pattern = /^\s*(.+?)\s*$/;
var str = ' google ';
alert('|' + str.replace(pattern, '$1') + '|'); //使用了分组获取</span>

  5、简单的电子邮件验证

<span style="font-family:KaiTi_GB2312;font-size:18px;">var pattern = /^([a-zA-Z0-9_\.\-]+)@([a-zA-Z0-9_\.\-]+)\.([a-zA-Z]{2,4})$/;
var str = 'yc60.com@gmail.com';
alert(pattern.test(str));
var pattern = /^([\w\.\-]+)@([\w\.\-]+)\.([\w]{2,4})$/;
var str = 'yc60.com@gmail.com';
alert(pattern.test(str));</span>

  【正则表达式的相关用法】

   1、使用字符串的正则表达式方法:

   

   

   

   2、获取控制

     

   

   

   

    






   

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值