正则表达式

来源:互联网 发布:iphone的看书软件 编辑:程序博客网 时间:2024/06/02 06:51
正则表达式:
 什么是正则表达式?它的作用是什么?
 ---正则表达式就是拿一些通配符去制定一个字符串的格式(规则)
 它主要用来去验证一个字符串是否符合我们约定的格式,
 还有一个功能就是查询符合规则的字符串。

正则表达式的好处?
  可以减少很多逻辑判断,减少了代码量,比较灵活。

如何创建正则表达式对象?
 1) var reg=/规则/参数;
 2) var reg = new RegExp("规则","参数");

规则有很多特定的符号组成。我们只要灵活的使用这些符号就能组成很复杂的字符串规则。
  常用的通配符
   
      .    可以匹配任何字符****
     \d    匹配0-9的所有数字****
     \D    匹配非数字
     \s    匹配所有空白字符,包括空格、制表符、换行符、回车符等****
     \S    匹配所有非空白字符
     \w    匹配所有的单词字符,包括0-9数字、26个英文字母和下划线****
     \W    匹配所有的非单词字符
     \b    匹配单词边界 :单词前后必须有一个非单词字符****
     \B    匹配非单词边界




[abc]    查找方括号之间的任何字符。--代表一个字符
[^abc]    查找任何不在方括号之间的字符。
[0-9]    查找任何从 0 至 9 的数字。==\d---代表一个数字
[a-z]    查找任何从小写 a 到小写 z 的字符。
[A-Z]    查找任何从大写 A 到大写 Z 的字符。
[A-z]    查找任何从大写 A 到小写 z 的字符。---不仅仅是52个字母,当中还有一些符号,比如]
(red|blue|green)查找任何指定的选项


正则表达式量词

n+    匹配任何包含至少一个 n 的字符串。-----  1到多
n*    匹配任何包含零个或多个 n 的字符串-----  0到多
n?    匹配任何包含零个或一个 n 的字符串-----  0或1
n{X}    匹配包含 X 个 n 的序列的字符串。------  指定具体的个数
n{X,Y}    匹配包含 X 或 Y 个 n 的序列的字符串。---指定满足区间的个数
n{X,}    匹配包含至少 X 个 n 的序列的字符串。---指定大于等于X的个数
n$    匹配任何结尾为 n 的字符串。---以指定的字符结尾
^n    匹配任何开头为 n 的字符串。---移指定的字符开头


正则表达式修饰符

i    执行对大小写不敏感的匹配。  ---忽略大小写
g    执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。---全局查找
m    执行多行匹配。--多行查找,换行以后也认为是新的一行。



表达式
(ab)
eg:
验证电子邮件的格式,要求:
  1、@符号前面必须由字母数字下划线组成,且字符数必须大于等于5个
  2、@后面必须由数字或字母组成,且字符数必须大于等于3个
  3、必须有一个. 点后面以com或者cn 或者com.cn或者org结尾

      var email=window.prompt("请输入合法的电子邮件",'');
       //var reg=/^\w{5,}@([a-z]|[A-Z]|\d){3,}\.(com|com.cn|cn|org)$/;
       var reg=/^[0-9A-Za-z_]{5,}@[0-9A-Za-z]{3,}\.(com|com\.cn|cn|org)$/;
       document.write(reg.test(email));

   验证省份证号码,18位数字,最后一位可能是数字也可能是X
     /*var cardNo=window.prompt("请输入省份证号",'');
       var reg=/^\d{17}(\d|X)$/;
       document.write(reg.test(cardNo));*/


    验证这样的格式:一个四位数XXXX,第一位和最后一位一样,第二位和第三位一样(1221);
    (引用表达式的概念)语法:\表达式的位置

     正则表达式中的表达式是()
       var reg=/^(\d)(\d)\1\2$/;
       var str="1212";
       document.write(reg.test(str));


    家用电话号码验证:必须以0开头,后面跟两个数字-后面8个数字

     验证url s可有可无,有的话只有一个
      https://www.sina.com.cn/aa/bb/cc/index.html 
原创粉丝点击