// 初级
// 1.求非负整数
var reg1 = /^\d*$/
var str1 = 1
// console.log('第一个正则:'+reg1.test(str1))
// 2.匹配正整数
var reg2 = /^[1-9][0-9]*$/
var str2 = 12
// console.log('第二个正则:'+reg2.test(str2))
// 3.非正整数
var reg3 = /^0|-[1-9][0-9]*$/
var str3 = -12
// console.log('第三个正则:'+reg3.test(str3))
// 4.负整数
var reg4 = /^-[1-9][0-9]*$/
var str4 = -34
// console.log('第四个正则:'+reg4.test(str4))
// 5.整数
var reg5 = /^0|-[1-9][0-9]*|[1-9][0-9]*$/
var str5 = 10
// console.log('第五个正则:'+reg5.test(str5))
// 6.非负浮点数
var reg6 = /^\d+\.\d+$/
var str6 = .66
// console.log('第六个正则:'+reg6.test(str6))
// 7.正浮点数
// 8.非正浮点数
// 9.负浮点数
// 10.浮点数
// 11.有数字、26个英文字母组成的字符串
var reg7 = /^[0-9a-zA-Z]{6,12}$/
var str7 = '025aSdsa'
// console.log('第六个正则:'+reg7.test(str7))
// 中级
// 1.长度为8-10的用户密码(以字母开头、数字、下划线)
// 2.验证输入只能是汉字
// 3.电子邮箱验证
// 4.URL地址验证
// 5.电话号码的验证
// 简单的身份证号验证
// 高级
// 1.提取并捕获html标签内容
// console.log(reg.test(str))
// 小练习
// 1.匹配整数和浮点数
// 2.匹配年月日日期 格式2018-12-6
// 3.匹配qq号
// 4.11位的电话号码
// 5.长度为8-10位的用户密码 : 包含数字字母下划线
// 6.匹配验证码:4位数字字母组成的
// 7.匹配邮箱地址
// 8.从类似
// <a>wahaha</a>
// <b>banana</b>
// <h1>qqxing</h1>
// 这样的字符串中,
// 1)匹配出wahaha,banana,qqxing内容。
// 2)匹配出a,b,h1这样的内容
// 9. 1-2*((60-30+(-40/5)*(9-2*5/3+7/3*99/4*2998+10*568/14))-(-4*3)/(16-3*2))
// 1)从上面算式中匹配出最内层小括号以及小括号内的表达式
// 10. 从类似9-2*5/3+7/3*99/4*2998+10*568/14的表达式中匹配出从左到右第一个乘法或除法
// 综合题
// 求出下面字符串中重复最多的元素和其出现的次数
var str = 'aaddfsdfsdfffsad'
var index1=0, value = ''
var str = "adadfdfse";
var newStr = str.split('').sort().join('')
console.log(newStr)
var reg = /(\w)\1+/g
var arr = newStr.match(reg)
console.log(arr)
arr.forEach((val,index) => {
if(val.length > index1){
index1 = val.length
value = val
}else{
return
}
})
console.log('出现次数最多的是:'+ value, '出现的次数是:'+ index1)