八十四:JavaScript之正则表达式之常用的正则表达式

1.校验QQ号

console.log(/^[1-9]d{4,10}$/); // 严格控制5~11位
console.log(/^[1-9]d{4}$/); // 不小于5位即可

2.用户名

console.log(/^[u4e00-u9fa5a-zA-Z0-9_]{2,18}$/);
console.log(/^[u4e00-u9fa5w]{2,18}$/);

3.密码

console.log(/S{6,16}$/);

4.去除字符串首尾的空白字符

console.log(' aaaa '.replace(/^s+/, '')); // 去除首空
console.log(' aaaa '.replace(/s+$/, '')); // 去除尾空
console.log(' aaaa '.replace(/^s+/, '').replace(/s+$/, '')); // 去除首尾空
console.log(' aaaa '.replace(/^s+|s+$/g, '')); // 去除首尾空

5.转驼峰

// background-color 转 backgroundColor
console.log('background-color'.replace(/-([a-z])/gi, function (all, letter){
  return letter.toUpperCase();
}));

6.匹配HTML标签

// 正向思考
console.log('<p class="odd" id="odd">123</p>'.match(/</?[a-zA-Z]+(s+[a-zA-Z]+=".*")*>/g));
// 逆向思考
console.log('<p class="odd" id="odd">123</p>'.match(/<[^>]+>/g));
console.log('<input type="text" value=">" name="username" />'.match(/<[^>]+>/g)); // 对于有内容为>的标签,不好用
console.log('<input type="text" value=">" name="username" />'.match(/<(?:[^"'>]|"[^"]*"|'[^']+')*>/g));
console.log('<input type="text" value=">" name="username" />'.match(/<(?:[^"'>]|(["'])[^"']*1)*>/g));

7.email邮箱

console.log('111@163.com'.match(/(?:w+.)*w+@(?:w+.)+[a-z]+/i));
console.log('111@163.com'.match(/^[a-z0-9]+(?:[._-][a-z0-9]+)*@[a-z0-9]+([._-][a-z0-9]+)*.[a-z]+$/i));

8.url

// 简单版
console.log('http://news.baidu.com/guonei'.match(/^(https?://)?([^:/]+)(:d+)?(/.*)?$/i));
// 主机名详细匹配版
console.log('http://news.baidu.com/guonei'.match(/^(https?://)?([a-z0-9].|[a-z0-9][-a-z0-9]*[a-z0-9].)*([a-z]+)(:d+)?(/.*)?$/i));

原文地址:https://www.cnblogs.com/zhongyehai/p/14258376.html