<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>字符串题</title>
</head>
<body>
<script>
//截取未知的字符串
/**
*indexOf("指定的字符","可选,开始检索的位置,必须是在0-length-1之间的整数")判断是否存在于字符串中,得到在字符串中开始位置的下标。
*通过属性 .length;得到要截取的字符串长度。
*substr("必需,开始下标,正整数从头部开始,负整数从尾部开始","可选,要截取字符串的长度,必需是数值,如果省略改参数,那么返回从开始到结尾的所有字符")在字符串中截取到指定的字符串。
*/
var urlstr = "www.baidu.com";
function checkurl(furl,surl){
var sindex = furl.indexOf(surl);
var eindex = surl.length;
if(sindex > -1){
console.log(furl.substr(sindex,eindex));
} else {
console.log("不在字符串中");
}
}
checkurl(urlstr,"baidue");
//反转字符串
/*
*得到字符串的长度
*定义一个空字符串,用于储存新的反转后的字符串
*循环字符串,利用charAt(index);---返回字符串中指定下标的元素
*index === 0-字符串长度之间的数字,当做字符串中的下标,不在则返回空字符串。
*/
function reversal(oldstr){
var len=oldstr.length;
var newstr="";
//两种循环都可以,注意赋值时的前后顺序。
// for(var i=len; i>=0;i--){
// newstr=newstr + oldstr.charAt(i);
// }
for(var i=0;i<len;i++){
newstr = oldstr.charAt(i)+newstr;
}
console.log(newstr);
}
reversal(urlstr);
//字符串是否只出现一次,不是话,一共出现了几次。
/**
*indexOf(searchvalue,fromindex); 从首字符方向开始检索指定的字符,并返回第一次出现位置的下标。
*searchvalue === 必需,规定要检索字符串的值
*fromindex === 可选整数参数。规定在字符串中开始检索的位置,合法取值范围在0到length-1之间如果省略则从首字符开始检索。
*
*lastIndexOf(searchvalue,fromindex); 从尾字符方向开始检索指定的字符,并返回第一次出现位置的下标。
*searchvalue === 必需,规定要检索字符串的值
*fromindex === 可选整数参数。规定在字符串中开始检索的位置,合法取值范围在0到length-1之间如果省略则从尾字符开始检索。
*
*eval(string)
*string 必需。要计算的字符串,其中要含有表达式或是要执行的语句
*
*match(searchvalue); 在字符串中找到指定字符,并返回该字符
*searchvalue === 必需,规定要检索的字符串值
*
*match(regxp);
*regxp === 必需,规定要匹配的正则,是否有全局标志 g .
*/
function frequency(fstr,sstr){
if(fstr.indexOf(sstr)>-1){
var ifrequency = fstr.indexOf(sstr);
var lfrequency = fstr.lastIndexOf(sstr);
if(ifrequency===lfrequency){
console.log("只出现了一次");
} else{
var reg = eval("/"+sstr+"/g");
var fre = fstr.match(reg).length;
console.log("共出现"+fre+"次");
}
} else{
console.log("在字符串中没找到指定字符")
}
}
frequency(urlstr,"baidu3");
//替换指定的字符串
/**
*判断是否在字符串中,
*replace(regexp/substr,replacement)
*regexp/substr === 必需,指定字符串或是要替换的正则表达式
*replacement === 必需,一个字符串值,要替换成什么的文本,或是替换的函数
*/
function exchange(oldstr,changestr,newstr){
if(oldstr.indexOf(changestr)>-1){
var schangestr = changestr.toString();
var snewstr = newstr.toString();
console.log("替换后的字符串 "+oldstr.replace(schangestr,snewstr));
} else {
console.log("字符串中没有要替换的字符")
}
}
var jdstr =["souuosu","shdfiohsoif"];
exchange(urlstr,"baidu",jdstr);
</script>
</body>
</html>