有了上次的写法经验这个就比较快了,上代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>字符串相关</title>
</head>
<body>
<div>
<label>String A:
<input id="radio-a" type="radio" checked="true" name="str-obj" value="a">
</label>
<textarea id="str-a"></textarea>
<label>String B:
<input id="radio-b" type="radio" name="str-obj" value="b">
</label>
<textarea id="str-b" ></textarea>
<label>Num A:<input id="num-a" type="number" value="0"></label>
<label>Num B:<input id="num-b" type="number" value="1"></label>
</div>
<div>
<button id="1">获取当前选中输入的内容长度</button>
<button id="2">当前选中输入中的第3个字符</button>
<button id="3">把两个输入框的文字连接在一起输出(concat)</button>
<button id="4">输入B中的内容,在输入A的内容中第一次出现的位置(indexOf)</button>
<button id="5">输入A中的内容,在输入B的内容中最后一次出现的位置(lastIndexOf)</button>
<button id="6">使用slice获取选中输入框内容的部分内容,参数为num-a及num-b</button>
<button id="7">当前选中输入框的行数</button>
<button id="8">使用substr获取选中输入框内容的子字符串,参数为num-a及num-b</button>
<button id="9">把所选输入框中的内容全部转为大写</button>
<button id="10">把所选输入框中的内容全部转为小写</button>
<button id="11">把所选输入框中内容的半角空格全部去除</button>
<button id="12">把所选输入框中内容的a全部替换成另外一个输入框中的内容</button>
</div>
<p id="result"></p>
<script>
var A=document.getElementById('radio-a');
var Avalue=document.getElementById('str-a');
var B=document.getElementById('radio-b');
var Bvalue=document.getElementById('str-b');
var c=document.getElementById('num-a');
var d=document.getElementById('num-b');
var result=document.getElementById('result');
function getchecked(){
if(A.checked==true){
return Avalue;
}
if(B.checked==true){
return Bvalue;
}
}
function contentlength(){
var str=getchecked().value;
result.innerHTML=str.length;
}
document.getElementById('1').addEventListener('click',contentlength);
function insertthird(){
var str=getchecked().value;
result.innerHTML=str.charAt(2);
}
document.getElementById('2').addEventListener('click',insertthird);
function connect(){
result.innerHTML=Avalue.value.concat(Bvalue.value);
}
document.getElementById('3').addEventListener('click',connect);
function gn4(){
var str=Bvalue.value;
var str1=Avalue.value;
result.innerHTML=str.indexOf(str1);
}
document.getElementById('4').addEventListener('click',gn4);
function gn5(){
var str=Bvalue.value;
var str1=Avalue.value;
result.innerHTML=str.lastIndexOf(str1);
}
document.getElementById('5').addEventListener('click',gn5);
function getslice(){
var str=getchecked().value;
result.innerHTML=str.slice(c.value,d.value);
}
document.getElementById('6').addEventListener('click',getslice);
function getlineNum(){
var str=getchecked().value;
result.innerHTML=str.lineCount();
}
String.prototype.lines = function () { return this.split(/\r*\n/); }
String.prototype.lineCount = function () { return this.lines().length; }
document.getElementById('7').addEventListener('click',getlineNum);
function sonstr(){
var str=getchecked().value;
result.innerHTML=str.substring(c.value,d.value);
}
document.getElementById('8').addEventListener('click',sonstr);
function maxwrite(){
var str=getchecked().value;
result.innerHTML=str.toUpperCase();
}
document.getElementById('9').addEventListener('click',maxwrite);
function minwrite(){
var str=getchecked().value;
result.innerHTML=str.toLowerCase();
}
document.getElementById('10').addEventListener('click',minwrite);
function corner(){
var str=getchecked().value;
str=str.replace(" ","");
}
document.getElementById('11').addEventListener('click',corner);
function getcp(){
var str=getchecked();
if(str.id=='str-a'){
Bvalue.value=getchecked().value;
}
else{
Avalue.value=getchecked().value;
}
}
document.getElementById('12').addEventListener('click',getcp);
</script>
</body>
</html>
还是觉得命名不太会命名,以及代码的重复有点高,可以更好的优化一下,明日继续