JS10

作者: 社会你码ge | 来源:发表于2017-06-12 09:12 被阅读0次

正则表达式 (规则表达式)

       定义:使用单个字符串来描述、匹配一系列符合某个语法规则的字符串搜索模式。

       ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

和正则相似的事物

        女人的心

        道士的符

        医生的字

        正则表达式

正则表达式的作用

        操作字符串是正则唯一的作用

        验证用户名

        验证电话号码

        验证密码等表单元素

        聊天软件的表情

        新闻采集  --小偷程序

        ....

正则表达式的定义

1、var res = /html5/

2、var res = new RegExp(/html5/);

3、var res = RegExp(“html5”);

    ECMA5规定正则对象为独立的实例

        var a = /a/;

        var b = /a/;

        console.log(a==b);

        return false;

表单的简单验证

1、html中直接验证: input type="text" pattern="\w{2}"

2、使用js进行正则验证

        定义字符串 var email = "abc";

        定义正则语句 var reg = /b/;

        返回匹配结果(数组) console.log(email.match(res)); --input: 对字符串对象的引用

定义正则语句

    正常的字母数字都是原子

        var str = "abcebd123";

        var reg = /b/;

        console.log(str.match(reg));

特殊字符

1.\n查找换行符

2.\f查找换页符 --打印机 或 操作系统等终端

3.\r查找回车符

4.\t查找制表符 (tab键)

5.\v垂直制表符 --打印机 或 操作系统等终端

6.匹配unicode字符console.log(text.match(/\u50bb\u903c/));

注意:特殊字符串的匹配:var s = 'abcabcaff';匹配abca

字符类

1、[abcdef] 可选列表,只能是原子列表中的一个字符

2、[7-9] 多选列表(连字符),7-9之间的数字

3、\u2E80--\u9fff 所有的文字包括日语韩语等

4、[^7-9] 取反,不是7-9之间的数字 ([a-zA-Z0-9_])

5、\d 匹配所有数字

6、\D 匹配所有非数字

7、\w 匹配数字字母下划线

8、\W 除了数字字母下划线

9、\s 表示所有空白字符 包括 \r \n \t

10、\S 表示所有可见字符

11、.匹配所有除了\n \r

正则重复 {原子数量修饰符}

    注:修饰紧挨着的一个原子

1、+ 表示一个或者多个(连续的) /a+/

2、? 表示0或者一个 /a?/

3、* 表示任意个 /a*/

4、{} {m,n} 表示m到n个 /a{3,5}/

5、{m,} 表示大于m /a{3,}/

6、{m} 表示m个 /a{m}/

7、{0,m} 表示0-m个 /a{0,5}/ --{,m} X

非贪婪模式 ?

  console.log("aaaaaaaaaaaaaaaaaa".match(/\w{2,10}/)); 贪婪

  console.log("abcdefhigklmnopqr".match(/\w{2,6}?/));  非贪婪

特殊原子的匹配 --在正则中具有特殊意义的符号需要转义

       ?

        \

       //

       .

      *

       等等.......

选择修饰符 |

        /a|b/          匹配a或者b

        /abc|def/      匹配abc或者def    字符串结合优先级大于选择符

        /ab(c|d)ef/    改变优先级  匹配abcef  abdef

模式单元修饰符 ()

    将多个原子视为一个原子 str.match(/(abc){1,3}/);

1、将匹配的内容暂存在内存 'abc'.match(/(a)(b)(c)/);

2、提高优先级 'abcdef'.match(/ab(c|d)ef/);

3、将括号的内容反向引用 console.log("abcac".match(/(\w)\w(\w)\1\2/));

4、使用(?:)取消暂存内存的特性,没有暂存在内存不能进行引用 console.log("abc".match(/(?:ab)(c)/));

console.log("abcc".match(/(?:\w)\w(\w)\1/));

相关文章

  • JS10

    正则表达式 (规则表达式) 定义:使用单个字符串来描述、匹配一系列符合某个语法规则的字符串搜索模式。 ...

  • 15 js10 date对象

    date日期对象:js内置对象,使用构造函数创建; 1、var date = new Date();//创建对象;...

网友评论

      本文标题:JS10

      本文链接:https://www.haomeiwen.com/subject/feakqxtx.html