正则3
匹配一个有效数字:正数、负数、0、小数
var reg = /^[+-]?(?:\d|[1-9]\d+)(?:\.\d+)?$/;
[+-]? 验证可能是负数也可能是正数
(?:\d|[1-9]\d+) 一位数的时候0-9的一个数字,两位数及以上0不能作为开头
(?:\.\d+)? 首先可以有小数点也可以没有,如果出现小数点,后面必须至少跟一位数字
手机号码:第一位是1,剩余的是数字即可(10位数字)
var reg = /^1\d{10}$/;
去除首尾空格
String.prototype.myTrim = function () { return this.replace(/(^\s*|\s*$)/g, ""); } console.log(" luke".myTrim());
邮箱:xxx@xxx.xxx.xxx xxx@xxx.xxx
var reg = /^(?:[0-9_a-z.A-Z-]+)@(?:[0-9a-zA-Z]+)(?:\.[a-zA-Z]{2,4}) {1,2} $/; {1,2} 一组或两组
获取一个字符串中出现次数最多的字符
var str = "lu man man qi xiu yuan xi wu jiang shang xia er qiu suo"; //通过replace方法,获取每一个字符在字符中出现的次数 var obj = {}; //正则匹配多少次函数就执行多少次, str.replace(/[^\s\n\b]/g, function () { //每次执行当前项 var cur = arguments[0]; obj[cur] = obj[cur] >= 1 ? obj[cur] + 1 : 1; //此时obj存储了每一个字符出现的次数 console.log(obj[cur]); }); //通过假设法先获取最多出现的次数max var max = 0, maxObj = {}; for (var key in obj) { max = obj[key] > max ? obj[key] : max; } //然后把所有出现max次的字符保存在一个新的对象中 for (var key in obj) { obj[key] === max ? maxObj[key] = obj[key] : void 0; } obj = null; console.log(maxObj);//Object {u: 6, a: 6, i: 6}
var ary = ["零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"]; var str = "1990年1月17日"; var regEx = /\d/g; console.log(regEx.test(str)); str = str.replace(regEx, function () { return ary[arguments[0]]; }); console.log(str);
var str = "my name is {0},my age is {1},my love {2}..."; var ary = ["luke", "28", "dog"]; var reg = /{(\d+)}/g; console.log(reg.test(str)); str = str.replace(reg, function () { console.log(arguments); var groupCon = arguments[1]; console.log(groupCon); return ary[groupCon]; }); console.log(str);

浙公网安备 33010602011771号