匹配一个有效数字:正数、负数、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]);});//通过假设法先获取最多出现的次数maxvar 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);