正则表达式:由一个字符序列形成的搜索模式,能够实现纵向和横向的两种模糊匹配模式
语法:/正则表达式主体/修饰符(可选)
横向模糊:一个正则可匹配的字符串长度是不确定的,使用量词,如{m,n},最少m次,最多n次
var regex = /ab{2,5}c/g var string = "abbc,abbbc,abbbbc,abbbbbc" console.log(string.match(regex)) //abbc,abbbc,abbbbc,abbbbbc
上述表示的即为第一个字符为 ‘a’,第二个字符为2-5个 ‘ b’,第三个字符为 ‘c’,其中正则表达式后面的g表示全局匹配,匹配到满足所有匹配模式的所有字符串,为"所有"
纵向模糊:一个正则匹配的字符串,具体到某一位字符时,并不是确定的,而是好几种方式,由数组来实现
(1)
const regex = /a[123]b/g const string = "a0b,a1b,a2b" console.log(string.match(regex));
输出结果为:
(2)
const regex = /a[2-5]bc/g const string = "a2bc,a3bc,a4bc,a5bc,a6bc" console.log(string.match(regex));
输出结果为:
(3)
const regex = /(183|156|13[1-4])/g const string = "183,156,132,136" console.log(string.match(regex));
输出结果为:
随机数:
关键函数:
- Math.floor()
- Math.random()
Math.floor()方法总是会将数值向下舍入为最接近的整数。
Math.random()方法返回大于等于0小于1的一个随机数
生成随机数公式:
随机数 = Math.floor(Math.random() * 可能的总数 + 第一个可能的值)
(1)如:生成1到10之间的随机数
Math.floor(Math.random()*10+1)
表示总共有1-10个可能的值,第一个可能值为1
(2)生成 [min,max]范围内的随机整数(大于等于min,小于等于max)
var random = Math.floor(Math.random()*(max-min+1))+min