JavaScript 学习&踏入“正则”的大门 - MrLee博客 - 一个伪全桟工程师的小站

MrLee博客

落子无悔,人生无返

JavaScript 学习&踏入“正则”的大门

距离上一次写文章(水了一篇)已经好久好久了,今天再来写一篇关于正则的初步认识(认真的在水文章)。

正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。

使用方法有两种

//第一种
    var regexp = new RegExp(/123/);
    console.log(regexp);
//第二种 (常用)
    var rg = /123/; //只要包含123 都是正确的
    console.log(rg.test(1235666));

特殊字符:

边界符

var reg = /^abc$/;

^ 匹配输入字符串的开始位置,除非在方括号表达式中使用,当该符号在方括号表达式中使用时,表示不接受该方括号表达式中的字符集合。要匹配 ^ 字符本身,请使用 ^。
$ 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 'n' 或 'r'。要匹配 $ 字符本身,请使用 \$。

例如:以abc开头的
如果正确则返回true 错误则是false

 var reg = /^abc/;
    console.log(reg.test('abc')); //true
    console.log(reg.test('abcaa')); //true
    console.log(reg.test('asabc123')); //flase

精确匹配(只能出现这三个字符)

var reg = /^abc$/; //精确匹配
    console.log(reg.test('abc')); //true
    console.log(reg.test('abcsss')); //flase
    console.log(reg.test('abcaaabc')); //flase
    console.log(reg.test('asabc123')); //flase     

字符类

var reg = /[abc]/; //只要包含abc其中的任何一个字母  就是true
    console.log(reg.test('cffff')); //true
    console.log(reg.test('affff')); //true
    console.log(reg.test('bffff')); //true
    console.log(reg.test('ffff')); //false
var reg = /^[abc]$/; //三选一  就是true
var reg = /^[a-z]$/; //26字母中任何一个  就是true
console.log(reg.test('v')); //true
console.log(reg.test('S')); //false 因为这是个大写字母,如果想要支持大写字母则假如A-Z即可[a-zA-z]
console.log(reg.test('1')); //false

字符组合

var reg = /^[a-zA-Z0-9_-]$/; //26大小写字母和0-9数字中任何一个  就是true
console.log(reg.test('a')); //true
console.log(reg.test('S')); //true
console.log(reg.test('1')); //true
console.log(reg.test('_')); //true
console.log(reg.test('-')); //true
console.log(reg.test('!')); //false

最后提示一下:var reg = /^[^a-zA-Z0-9_-]$/; //中括号里面有^是取反的意思

更多食用姿势移步到 点我!!!

正则表达式在线测试工具 : 点我!!!

本文共390字

评论卡