[a-e] 表示ae这些字符中的某一个字符

[aeiou] 表示aeiou5个字符其中的某一个字符

[a-zA-Z] 表示大写、小写字母中的某一个字符

[a-zA-Z0-9_-] 或小写、或大学、或数字或下划线横杠某一个字符

[0-9] 表示09之间任意一个数字

<script type="text/javascript">
//创建一个正则模式
//[0-9]匹配
var reg = /[0-9]/
var str = "2017-8-12";
//结果:["2", index: 0, input: "2017-8-12"]

var reg = /[5-7]/
var str = "1997";
//结果:["7", index: 3, input: "1997"]

var reg = /[a-e]/;
var str = "hello";
//结果:["e", index: 1, input: "hello"]

var reg = /[A-G]/;
var str = "World";
//结果:null

var reg = /[ptrdx]/;
var str = "computer";
//结果:["p", index: 3, input: "computer"]

var reg = /[a-zA-Z0-9_-]/;
var str = "@##$%^&*(_#@FJD";
//结果:["_", index: 9, input: "@##$%^&*(_#@FJD"]

//字符串.match(正则)
var rst = str.match(reg);
console.log(rst);
</script>


1、特别字符组成

$ : 匹配输入字符串的结尾位置。

^ : 表示字符串的开始位置

( ): 标记一个子表达式的开始和结束位置。

* : 其前面那个单元出现0次或以上(任意次数)

. : 匹配除换行符 \n之外的任何单字符

+ : 其前面那个单元出现1次或以上

? : 其前面那个单元出现0次或1

\ : 这个符号是用来转义的

| : 指明两项之间的一个选择


+ ? * 功能:

<script type="text/javascript">
var reg = /[0-9]+/;
var str = "2017-8-12";
//结果:["2017", index: 0, input: "2017-8-12"]

var reg = /go*gle/;
var str = "goooooogle";
//结果:["goooooogle", index: 0, input: "goooooogle"]

var reg = /[0-9]*/;
var str = "today is 222";
//结果:["", index: 0, input: "today is 222"]
var str = "222 today is";
//结果:["222", index: 0, input: "222 today is"]

var reg = /wo?rld/;
var str = "woorld";
//结果:null
var str = "wrld";
//结果:["wrld", index: 0, input: "wrld"]

//字符串.match(正则)
var rst = str.match(reg);
console.log(rst);
</script>

. | \ 功能:

<script type="text/javascript">
var reg = /.*/;
var str = "dasda^%&%*lklJDS";
//结果:["dasda^%&%*lklJDS", index: 0, input: "dasda^%&%*lklJDS"]

var reg = /milk|fish/;
var str = "cat like eat fish";
//结果:["fish", index: 13, input: "cat like eat fish"]
var str = "cat like eat milk and fish";
//结果:["milk", index: 13, input: "cat like eat milk and fish"]

var reg = /[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/;
var str = "123.206.94.112";
//结果:["123.206.94.112", index: 0, input: "123.206.94.112"]
var str = "123.206.94";
//结果:null

//字符串.match(正则)
var rst = str.match(reg);
console.log(rst);
</script>

^ $ 功能:

<script type="text/javascript">
var reg = /^banana/; //出现在目标开头
var str = "monkey like banana";
//结果:null
var str = "banana like monkey";
//结果:["banana", index: 0, input: "banana like monkey"]

var reg = /banana$/; //出现在目标结尾
var str = "monkey like banana";
//结果:["banana", index: 12, input: "monkey like banana"]
var str = "banana like monkey";
//结果:null

var reg = /13[0-9]{9}/; //{9}严格出现九次
var str = "13837264738";
//结果:["13837264738", index: 0, input: "13837264738"]
var str = "13837264738heihei";
//结果:["13837264738", index: 0, input: "13837264738heihei"]
var reg = /^13[0-9]{9}$/; //{9}严格出现九次
var str = "13837264738";
//结果:["13837264738", index: 0, input: "13837264738"]
var str = "ddd13837264738heihei";
//结果:null

//字符串.match(正则)
var rst = str.match(reg);
console.log(rst);
</script>

() 功能:

<script type="text/javascript">
var reg = /(go)+gle/;
var str = "gogogogogle";
//结果:["gogogogogle", "go", index: 0, input: "gogogogogle"]
var str = "gooooogle";
//结果:null

var reg = /<span>(.*)<\/span>/; //()称为模式单元
var str = "<div><span>杨勇</span><a>yangyong@163.com</a></div>";
//结果:(2) ["<span>杨勇</span>", "杨勇", index: 5, input: "<div><span>杨勇</span><a>yangyong@163.com</a></div>"]
//字符串.match(正则)
var rst = str.match(reg);
console.log(rst);
console.log(rst[1]);
</script>


2、模式修正符

var 模式名称 = /模式内容/模式修正符

<script type="text/javascript">
var reg = /[a-z]/;
var str = "helloBEIJING";
//结果:["h", index: 0, input: "hello BEIJING"]

var reg = /[a-z]+/;
var str = "helloBEIJING";
//结果:["hello", index: 0, input: "hello BEIJING"]

var reg = /[a-z]+/i; //i忽略大小写
var str = "helloBEIJING";
//结果:["helloBEIJING", index: 0, input: "helloBEIJING"]


var reg = /[0-9]+/;
var str = "2015-03-23 17:30:20";
//结果:["2015", index: 0, input: "2015-03-23 17:30:20"]

var reg = /[0-9]+/g;
var str = "2015-03-23 17:30:20";
//结果:(6) ["2015", "03", "23", "17", "30", "20"]

var reg = /[a-z]+[0-9]+/;
var str = "XiangGang1997Aomen1999";
//结果:["ang1997", index: 6, input: "XiangGang1997Aomen1999"]

var reg = /[a-z]+[0-9]+/ig;
var str = "XiangGang1997Aomen1999";
//结果:(2) ["XiangGang1997", "Aomen1999"]

//字符串.match(正则)
var rst = str.match(reg);
console.log(rst);
console.log(rst[1]);
</script>

3、模式单元重复匹配

<script type="text/javascript">
var reg = /([0-9]+-([0-9]+-[0-9]+)) ((([0-9]+):[0-9]+):[0-9]+)/;
var str = "2017-08-12 15:48:30";
//结果:(6) ["2017-08-12 15:48:30", "2017-08-12", "08-12", "15:48:30", "15:48", "15", index: 0, input: "2017-08-12 15:48:30"]

//字符串.match(正则)
var rst = str.match(reg);
console.log(rst);
//console.log(rst[1]);
</script>



更多相关文章

  1. javascript 截取字符串方法汇总
  2. JavaScript String(字符串对象)
  3. JS将字符串转换为数组
  4. 在变量名是字符串时声明变量?
  5. 可编辑div中的文本计数和子字符串
  6. 使用append方法将对象转换为字符串
  7. $.each遍历JSON字符串和 Uncaught TypeError: Cannot use 'in' o
  8. python正则表达式
  9. Python 正则表达式(5)电话号匹配

随机推荐

  1. android中wifi输入的密码保存的路径
  2. 应用内打开其他应用的正确姿势
  3. 在android上滚动时,列表视图的位置会发生
  4. 解决Android应用安装快完毕时提示签名冲
  5. 没有找到类“android.support.v7.interna
  6. Tumblr API Photo Post返回401(未授权)
  7. 从零开始的Android新项目2 - Gradle篇
  8. 如何在Android设备上读取CPU频率
  9. Android(监听+回调=观察者)模式从Dialog到A
  10. [置顶] android加密解密算法之3DE