1 . 給一個連字符串例如:get-element-by-id轉化成駝峰形式。
var str = "get-element-by-id";
var reg = /-\w/g; // 匹配橫桿以及之后的一個字符,全局匹配
console.log(str.replace(reg,function($0){
return $0.slice(1).toUpperCase();
// 匹配到到是-e -b -i 形式截取后一個字符轉成大寫
}));
2 . 匹配二進制數字
var str = "10101111";
var reg = /^[01]+$/g;
console.log(reg.test(str));
3 . 非零的十進制數字 (有至少一位數字, 但是不能以0開頭)
var str = "81";
var reg = /^[1-9][0-9]?$/g;
console.log(reg.test(str));
4 . 匹配一年中的12個月
var str = "12";
var reg = /^(0?[1-9]|1[0-2])$/g;
console.log(reg.test(str));
5 . 匹配qq號最長為13為
var str ="10009093283333";
var reg = /^[1-9][0-9]{4,12}$/g;
console.log(reg.test(str));
6 . 匹配常見的固定電話號碼
var str = "000-12344562";
// \(? 匹配左括號一次或0次然后以0開頭后面加兩個數字,再匹配右括號或空格或減號一次或0次,隨后匹配8個數字
var reg = /\(?0\d{2}[) -]?\d{8}/g;
console.log(str.match(reg));
7 . 匹配ip地址
var str = "255.221.221.12";
// [01]?\d\d?表示匹配小於199的數,可以說兩位數或一位數,2[0-4]\d表示從200到249,配合25[0-5]就表示小於255的數了。
var reg = /(([01]?\d\d?|2[0-4]\d|25[0-5])\.){3}([01]?\d\d?|2[0-4]\d|25[0-5])$/g;
console.log(str.match(reg));
8 . 匹配用尖括號括起來的以a開頭的字符串
var str = "<a herf='www.baidu.com'>";
var reg = /<a[^>]+>/g;
console.log(str.match(reg));
9 . 分割數字每三個以一個逗號划分
var str = "12345678901";
function numSplit(str){
var re = /(\d)(?=(\d{3})+$)/g;
//(\d{3})+$ 的意思是連續匹配 3 個數字,且最后一次匹配以 3 個數字結尾。
//要找到所有的單個字符,這些字符的后面跟隨的字符的個數必須是3的倍數,並在符合條件的單個字符后面添加,
return str.replace(re,'$1,');
}
console.log(numSplit(str));