12 Nov 2017

常见正则表达式

正则表达式方法

// 检索字符串中指定的子字符串的起始位置
var str = "Visit Runoob!"; 
console.log(str.search(/Runoob/i));//6
//使用正则表达式且不区分大小写将字符串中的 Microsoft 替换为 Runoob :
var str = "Visit Microsoft!"; 
console.log(str.replace(/microsoft/i,"Runoob"));//Visit Runoob!

"index.aspx?test=1&ww=234".match(/\?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}/)
"index.aspx?test=1&ww=234".split(/\?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}/)
/^\?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}/.exec("?test=1&ww=2&www=3")
/b/.exec("abc abc  abc !");//["b", index: 1, input: "abc abc  abc !"]
 if (/^(\d{4})-(\d{1,2})-(\d{1,2})$/.test(number)) {
                    str2 = RegExp.$1 + nbsq1 + RegExp.$2 + nbsq2 + RegExp.$3;
                }

元字符

 i   对大小写不敏感  g  全局匹配  m   执行多行匹配  
 [abc]   方括号间的任何字符   [0-9]   从 0 至 9 的数字 (x|y)   以 | 分隔的选项  
 \d  数字  \s  空白字符    \b  单词边界    \uxxxx  查找以十六进制数 xxxx 规定的 Unicode 字符  
 n+  至少包含一个  n*  包含零个或多个 n?  包含零个或一个  
"ab{2}":至少2个b   "ab{2,}":至少2个b  "ab{3,5}":3到5个b  
在"^.$()¦*+?{\"这些字符前加上转移字符'\'  

常用正则表达式

^.*[\u4e00-\u9fa5].*$                                           //至少一个汉字
((\d{3,4}-\d{7,8}\,?)|(\d{7,8}\,?)|((1[3,4,5,8,7][0-9]{9})\,?))+   //电话号
^[A-Za-z0-9]{1,32}$                                //1-32 位数字英文区分大小写
^\d{17}[Xx0-9]$                                         //身份证号
^[A-Z0-9]{15}([A-Z0-9]{3})?$                            //15或18位 数字大写字母
 ^[0-9]{1,3}(.[0-9]{1,3})?$  ^(\d{1,3}\.)?\d{1,3}$ //1-3位可包含1-3位小数的数字
^.{1,128}$                                                  //任意1-128个字符 
^([\u4E00-\u9FA5][A-Za-z][\da-zA-Z]{4}[\u8D85\u6302\u5b66\da-zA-Z]{1}[\da-zA-Z]?||[\u4E00-\u9FA5]\d{2}[\da-zA-Z]{4}[\u8D85\u6302\u5b66\da-zA-Z]{1}[\da-zA-Z])$                                                             //车牌号
^[A-Za-z0-9]{17}?$                                          //没有或17位
^\d{4,6}$                                                   //4-6 位数字
^\d+\.\d+$                                                  //带有小数
/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/  //5-20以字母开头、可带数字、“_”、“.”的字串
^\\w+$                                                  //数字、字母、下划线

a.[0-9]                                                 //"a"+任意字符+数字

value.replace(/[\W]/g,'')                               //只有数字和英文
value.replace(/[^\d]/g,'')                              //只有数字
value.replace(/[^\uFF00-\uFFFF]/g,'')                   //只全角
value.replace(/[^\u4E00-\u9FA5]/g,'')                   //只汉字

Tags: