JavaScript正则表达式

正则表达式:主要用来匹配字符;工作原理,使用通配符匹配技术。

正则表达式:

1、var re=new RegExp("a","i")  实例化一个对象,a是一个正则的内容,具体的规则,i是一个标志

2、var re=/a/i a也是正则内容,i是规则。加上i的意思是不区分大小写。没有i,表示区分大小写。*表示匹配任意字符。如果之匹配星号,我们需要用到专一,用一个反斜杠来进行转义\*,这样就可以匹配*号了。只要是特殊符号,要进行匹配的话,都要进行转义,特殊符号有:!¥……*+=.\/()[]{};这些符号要进行匹配的话,都要进行转义。

3、特殊字符:o t n v f r xnn uxxxx cX这些特殊字符要匹配的话,也要进行转义一下。

这个是字符类,是代表的一类字符。

Unicode 空白符就是表示的空格。小写和大写都是非的关系。


创建正则表达式两种方式:

var re = new RegExp("a","i");   //a具体规则   i标志

var re = /a/i     //匹配字符串中的"a"  i不区分大小写


1.特殊符号    //匹配以下特殊字符需要用反斜杠转义

    $ ^ * + = | . ? \ / ( ) { } [ ]       

2.特殊字符

   o t n v f r xnn uxxxx cx


正则表达式对象的方法

exec()  执行正则表达式的匹配,返回一个数组

test()  测试正则表达式的匹配,返回布尔值

toSource() 返回RegExp对象的源代码

toString() 将RegExp对象转换成字符串

 

标志:

i 匹配时不区分大小写

g 匹配时执行全局匹配

m 匹配时执行多行匹配

 

重复类:{n} 匹配前一项n次;

       {n,}匹配前一项至少一次,至多不限

       {n,m}匹配前一项至少N次,最多M次

       {?}匹配前一项0次或者1次

       {+}匹配前一项至少1次

       {*}匹配前一项0次或者多次

 

选择符: 分隔可以用来选择的文字

定位符: ^ :匹配字符串的结尾

       $: 匹配一个单词的边界

       \b: 匹配一个单词的边界

       \B: 与\b相反,匹配一个非单词边界

\u4e00-\u9fa5 所有汉字

[^\x00-xff]意思为双字节  \x00-xff表示为单字节

 

unicode 汉字范围 \u4e00-\u9fa5

\w a-zA-Z0-9

匹配合法用户名

var re = /[\w\u4e00-\u9fa5]/g;

匹配非法用户名

var re = /[^\w\u4e00-\u9fa5]/g;

用户名要求:1.组成:数字,字母(不区分大小写),汉字,下划线。


3种交互行为验证:

1.获得焦点时,提示用户名命名规则。

2.输入用户名时,提示已填字符数量。

3.失去焦点时,判断是否为空、长度是否小于5或大于25、是否有非法字符,如都合法则提示OK。

 

x00-xff表示所有ASCII码中的单字符。如不在此范围则用2个字符代替(一个汉字代表2个字符的判断)。

计算输入字符的长度:

function getLength(str) {

return str.replace(/[^\x00-xff]/g,"xx").length;

}

var re_n=/[^\d]/g;  //表示匹配全局非数字

var re_t=/[^a-zA-Z]/g;  //表示匹配全局非字母

var re = /^[a-zA-Z]{1}[\w\.]{4,19}$/;/*只能输入5-20个字符,以“字母”开头*/;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章