`
除了你无可取代
  • 浏览: 144470 次
  • 性别: Icon_minigender_1
  • 来自: 悲鸣洞穴
社区版块
存档分类
最新评论

js-正则

    博客分类:
  • js
阅读更多

正则规则:

 

标志位

 

跟在正则表达式后面   如/^a/g

 

g    全局的,匹配多次 准确含义随具体方法而变

i     大小写不敏感(忽略大小写)

w   多行(^和$能匹配行结束符)

 

常用字符意义

 

 

?     表示 出现0次或者1次  可选的意思

+     表示出现1次或者多次 

*     表示出现0次或者多次  

 

\     转义字符  如 “\/”  表示一个“/”

^     写在开头 表示已这个匹配的规则开头

$     写在结尾  表示已这个匹配的规则结束

|     表示或者关系

 

分组有四种 

(?  .   .    . )      表示一个可选的非捕获型分组

(    .   .   .  )      表示一个捕获型分组

(?= .  .   .  )      向前正向匹配   类似非捕获型分,这个组匹配完后,文本倒回它开始的地方匹配,实际上不

                        匹配任何东西不是好的特性尽量不用

(?!  .  .   .  )      向前负向匹配    匹配失败时候进行匹配  不是好的特性尽量不用

 

 

[    .   .   .  ]      表示一个字符类

{0,3}               表示出现0到3次

[^   .   . ]          表示匹配除了括号内的规则

 

 

自己测过的一些正则表达式 和 书上摘抄收集

 

/^(([1-9]{1}\d*)|([0]{1}))(\.(\d)+)?$/  小数 或整数  小数位数N位

/^(([1-9]{1}\d*)|([0]{1}))(\.(\d){1,2})?$/   小数 或整数   1或者2位 

 

/^([1-9][0-9]*|0)?$/i  匹配自然数

 

 

 

/^(0)|([-]?((\d+\.)|([1-9]{1}))\d*)$/i       匹配一个有理数  或者下面这种

 

/^\-?([1-9][0-9]*|0)(\.[0-9]+)?$/i;           匹配一个有理数

 

/^-?\d+(?:\.\d*)?(?:e[+\-]?\d+)?$/i;        匹配一个数字,包含指数

 

/^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/; 匹配URL

 

var  reg1 = new RegExp(/[\u4E00-\u9FA5]/g);  中文正则
var reg = /[\u4E00-\u9FA5]/;

 

//去空格  

function Trim (str){
  return str.replace(/(^\s*)|(\s*$)/g, "");   
 }

 

常用方法

 

String.match(正则)

String.replace(正则,替换的字符)

正则.exec() 返回匹配的 字符数组

正则.test()  返回true false

 

var reg =  new RegExp(/[.jpg]$|[.png]$/i);
 var s = "xx.jpg";
 alert(reg.test(s))//true

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics