1, 判断字符串组成:第一个必须是字母,后面可以是字母、数字、下划线,总长度为5-20。
- \w 匹配包括下划线的任何单词字符。等价于“[A-Za-z0-9_]”
- [a-zA-Z] 表示匹配26个字母不区分大小写。
- ^n量词匹配任何开头为 n 的字符串。
- n$ 量词匹配任何结尾为 n 的字符串。
- n{X,Y} 量词匹配包含至少 X 最多Y 个 n 的序列的字符串,X 和 Y 必须是数字。
var re = /^[a-zA-Z]\w{4,19}$/;
var result = re.test("aaa_12345");
console.log(result); //true
2.截取字符串abcdefg的efg.
- substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。它的语法是:stringObject.substr(start,length)
- indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。它的语法是:stringObject.indexOf(searchvalue,fromindex)
- test() 方法用于检测一个字符串是否匹配某个模式.它的语法:RegExpObject.test(string)
var str = "abcdefg";
if (/efg/.test(str)){
var efg = str.substr(str.indexOf("efg"),3);
console.log(efg);
}
var str = "abcdefg";
var result = str.substring(4);
console.log(result);
3.判断一个字符串中出现次数最多的字符,统计这个次数。
var str = 'aabbccddd';
var obj = {};
for (var i = 0; i < str.length; i++) {
if (obj[str[i]]) {
obj[str[i]]++
}
else {
obj[str[i]] = 1;
}
}
var flag=0;
for (item in obj) {
if (flag < obj[item]) {
flag = obj[item];
key = item;
}
}
console.log(key,obj[key]); // "d",3