基于HTML,实现需求

  • 按照HTML中按钮的描述以此实现功能
  • 计算结果显示在 id 为 result 的 P 标签中
 <!DOCTYPE html>
<html> <head>
<meta charset="utf-8" />
<title>JS里的居民们2</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>获取当前选中输入的内容长度</button>
<button>当前选中输入中的第3个字符</button>
<button>把两个输入框的文字连接在一起输出(concat)</button>
<button>输入B中的内容,在输入A的内容中第一次出现的位置(indexOf)</button>
<button>输入A中的内容,在输入B的内容中最后一次出现的位置(lastIndexOf)</button>
<button>使用slice获取选中输入框内容的部分内容,参数为num-a及num-b</button>
<button>当前选中输入框的行数</button>
<button>使用substr获取选中输入框内容的子字符串,参数为num-a及num-b</button>
<button>把所选输入框中的内容全部转为大写</button>
<button>把所选输入框中的内容全部转为小写</button>
<button>把所选输入框中内容的半角空格全部去除</button>
<button>把所选输入框中内容的a全部替换成另外一个输入框中的内容</button>
</div>
<p id="result"></p>
<script>
const numA = document.getElementById("num-a");
numB = document.getElementById("num-b");
radioA = document.getElementById("radio-a");
radioB = document.getElementById("radio-b");
strA = document.getElementById("str-a");
strB = document.getElementById("str-b");
buttons = document.getElementsByTagName("button"); //按钮数组
p = document.getElementById("result");
//定义数字检查
function isNumber(num) {
if (!isNaN(num.value) && num.value != "") {
return true;
} else {
return false;
}
}
//定义勾选检查
function isCheck(check) {
if (check.checked) {
return true;
} else {
return false;
}
}
//按钮1监听点击,实现获取当前选中输入的内容长度
buttons[0].addEventListener("click", function () {
if (isCheck(radioA)) {
p.innerHTML = "当前输入内容长度为:" + strA.value.length;
}
if (isCheck(radioB)) {
p.innerHTML = "当前输入内容长度为:" + strB.value.length;
}
})
//按钮2监听点击,实现获取当前选中输入中的第3个字符
buttons[1].addEventListener("click", function () {
if (isCheck(radioA)) {
p.innerHTML = "当前选中的第三个字符为:" + strA.value.charAt(2);
}
if (isCheck(radioB)) {
p.innerHTML = "当前选中的第三个字符为:" + strB.value.charAt(2);
}
})
//按钮3监听点击,实现把两个输入框的文字连接在一起输出(concat)
buttons[2].addEventListener("click", function () {
p.innerHTML = "两个输入框的文字连接在一起输出为:" + strA.value.concat(strB.value);
})
//按钮4监听点击,实现输入B中的内容,在输入A的内容中第一次出现的位置(indexOf)
buttons[3].addEventListener("click", function () {
p.innerHTML = "B在A中第一次出现的位置为:" + strA.value.indexOf(strB.value);
})
//按钮5监听点击,实现输入A中的内容,在输入B的内容中最后一次出现的位置(lastIndexOf)
buttons[4].addEventListener("click", function () {
p.innerHTML = "A在B中第一次出现的位置为:" + strB.value.lastIndexOf(strA.value);
})
//按钮6监听点击,实现使用slice获取选中输入框内容的部分内容,参数为num-a及num-b
buttons[5].addEventListener("click", function () {
if (isCheck(radioA)) {
p.innerHTML = "选中字符串被截取的部分为:" + strA.value.slice(numA.value, numB.value);
}
if (isCheck(radioB)) {
p.innerHTML = "选中字符串被截取的部分为:" + strB.value.slice(numA.value, numB.value);
}
})
//按钮7监听点击,实现当前选中输入框的行数
buttons[6].addEventListener("click", function () {
if (isCheck(radioA)) {
p.innerHTML = "当前选中输入框的行数为:" + strA.value.split(/\r?\n|\r/).length; //window是\r\n(回车换行),mac是\r(回车)
}
if (isCheck(radioB)) {
p.innerHTML = "当前选中输入框的行数为:" + strB.value.split(/\r?\n|\r/).length; //?匹配0或1次
}
})
//按钮8监听点击,实现使用substr获取选中输入框内容的子字符串,参数为num-a(起始位置)及num-b(长度)
buttons[7].addEventListener("click", function () {
if (isCheck(radioA)) {
p.innerHTML = "选中字符串被截取的部分为:" + strA.value.substr(numA.value, numB.value);
}
if (isCheck(radioB)) {
p.innerHTML = "选中字符串被截取的部分为:" + strB.value.substr(numA.value, numB.value);
}
})
//按钮9监听点击,实现把所选输入框中的内容全部转为大写
buttons[8].addEventListener("click", function () {
if (isCheck(radioA)) {
p.innerHTML = "选中字符串转大写为:" + strA.value.toUpperCase()
}
if (isCheck(radioB)) {
p.innerHTML = "选中字符串转大写为:" + strB.value.toUpperCase()
}
})
//按钮10监听点击,实现把所选输入框中的内容全部转为小写
buttons[9].addEventListener("click", function () {
if (isCheck(radioA)) {
p.innerHTML = "选中字符串转小写为:" + strA.value.toLowerCase()
}
if (isCheck(radioB)) {
p.innerHTML = "选中字符串转小写为:" + strB.value.toLowerCase()
} })
//按钮11监听点击,实现把所选输入框中内容的半角空格全部去除
buttons[10].addEventListener("click", function () {
if (isCheck(radioA)) {
p.innerHTML = "选中半角空格全部去除为:" + strA.value.replace(/\s+/g, "");
//全局匹配一次或多次S(匹配任何空白字符,包括空格、制表符、换页符等等。)
}
if (isCheck(radioB)) {
p.innerHTML = "选中半角空格全部去除为:" + strB.value.replace(/\s+/g, "");
}
})
//按钮12监听点击,实现把所选输入框中内容的a全部替换成另外一个输入框中的内容
buttons[11].addEventListener("click", function () {
if (isCheck(radioA)) {
p.innerHTML = "选中半角空格全部去除为:" + strA.value.replace(strA.value, strB.value);
//全局匹配一次或多次S(匹配任何空白字符,包括空格、制表符、换页符等等。)
}
if (isCheck(radioB)) {
p.innerHTML = "选中半角空格全部去除为:" + strB.value.replace(strB.value, strA.value);
}
})
</script>
</body> </html>

JavaScript里面的居民们2-字符串的更多相关文章

  1. JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString

    JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString 如下示例: 直接写的a1就是一个Json对象,a2 就是一个Json对象字符串; 通 ...

  2. JavaScript和php常用语法——切割字符串

    在面向Web的应用中,前台和后台通信非常常用的一种格式就是字符串,所以,在通信中,我们不可避免的就需要进行字符串的拼切. 在js代码中,当我们传递一个字符串到后台代码时,我们在后台需要对字符串进行切割 ...

  3. 每天一个JavaScript实例-递归实现反转数组字符串

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  4. JavaScript中有三个可以对字符串编码的函数,分别是: escape(),encodeURI(),encodeURIComponent()

    JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decod ...

  5. JavaScript eval() 函数,计算某个字符串,并执行其中的的 JavaScript 代码。

    JavaScript eval() 函数,计算某个字符串,并执行其中的的 JavaScript 代码. 适合用于计算器的计算,等. 例子: eval("x=10;y=20;document. ...

  6. JavaScript学习笔记(二)——字符串

    在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/ ...

  7. 妙味课堂:JavaScript初级--第11课:字符串、查找高亮显示

    1.数字字母 Unicode 编码 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content- ...

  8. JavaScript基础知识(正则表达式、字符串)

    23.正则表达式 作用:定义一个特定的验证字符串内容规则的表达式 注:正则表达式并不是JavaScript独有的:JavaScript支持正则表达式 var a = { };  // 定义一个空对象  ...

  9. JavaScript八张思维导图—字符串用法

    JS基本概念 JS操作符 JS基本语句 JS数组用法 Date用法 JS字符串用法 JS编程风格 JS编程实践 不知不觉做前端已经五年多了,无论是从最初的jQuery还是现在火热的Angular,Vu ...

  10. 每日分享!~ vue JavaScript中为什么可以读取到字符串的长度!(包装对象)

    首先需要知道什么是包装对象? 对象是JavaScript语言下最主要的数据类型,三种原始的值-----数值,字符串,布尔值,在一定条件下会自动的转为对象.也就是原始类型的包装对象: 也就是通过如下方式 ...

随机推荐

  1. python模块之——tqdm(进度条)

    from tqdm import tqdm for i in tqdm(range(10000)): """一些操作""" pass 效果: ...

  2. xcode - iPhone Debugging: How to resolve 'failed to get the task for process'? - Stack Overflow

    The program being debugged is not being run. Everyone sees this once in a while during Xcode develop ...

  3. DOM操作 045

    一 什么是DOM DOM : 文档对象模型 它为文档提供了结构化表示 并定义了如何通过脚本来访问文档结构 . 目的就是为了能让js操作HTML元素而制定的一个规范 . DOM树(一切都是节点): 元素 ...

  4. python web开发小结

    书籍 <python基础教程> <流畅的python> web框架 flask django tornado ORM sqlalchemy orator 消息队列 celery ...

  5. Java学习之路(三):Java中的数组

    数组的概述和定义的格式 数组的作用: 用来存储同种数据类型的多个值 数组的基本概念: 数组是存储同一种数据类型多个元素的集合.就相当于一个容器. 注意:数组既可以存储基本数据类型,也可以存储引用数据类 ...

  6. Robot Framework_Ride(Settings)

    Settings 不管是测试套件还是测试用例都会有一个“Settings>>”的按钮,因为它默认是被折叠起来的,所以,一般不太容易发现它,更不知道点击它之后是可以展开的 1.测试用例的 S ...

  7. selenium+Python(表单、多窗口切换)

    1.多表单切换 在Web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌页面上的元素无法直接定位.这 ...

  8. 【JS】逻辑运算符 非! 与&& 或||

    JS中的逻辑运算符在处理布尔值的判断时,和其他语言没有什么不同,不过在处理对象时,就需要好好梳理记忆下了. 逻辑非(!) 如果一个操作数是一个对象,返回false; 如果一个操作数是一个空字符串,返回 ...

  9. Python爬虫-播报天气信息(生成exe文件)待续

    #!/usr/bin/env python3 # -*- coding : utf-8 -*- '''1.从https://my.oschina.net/joanfen/blog/140364获取要播 ...

  10. php根据IP获取所在省份-百度api接口

    这里用的file_put_contents,你也可以用别的,直接怼代码: //拼接传递的参数 $getData = array( 'query' => '127.0.0.1', 'resourc ...