基于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. css里面鼠标的形状-----》easyui哪点事

    用css控制鼠标样式的语法如下:<span style="cursor:*">文本或其它页面元素</span>把 * 换成如下15个效果的一种: 下面是对这 ...

  2. 二叉树的遍历python 代码

    __author__ = "WSX" class Node: def __init__(self, val = None, left = None, right = None): ...

  3. 用 gdb 和 qemu 调试 grub

    因为qemu内置了gdbserver,所以我们可以用gdb调试qemu虚拟机上执行的代码,而且不受客户机系统限制. 以下内容是我调试 grub 0.97 时的一份笔记. 准备 qemu, gdb,以及 ...

  4. js 鼠标拖拽效果实现

    效果: 源码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  5. java架构师之路,享学课堂VIP课程视频下载

    享学课堂并发编程:百度网盘 链接:https://pan.baidu.com/s/10O8oXC0yNRArUh3WKkXayg 提取码:o01s 更多视频获取方式请留言

  6. 文献综述十八:基于SSH框架的进销存管理系统设计与实现

    一.基本信息 标题:基于SSH框架的进销存管理系统设计与实现 时间:2017 出版源:内蒙古科技与经济 文件分类:对框架的研究 二.研究背景 进销存管理系统在各企业中广泛应用,使用SSH框架,很大程度 ...

  7. GoldenGate安装配置

    GOLDENGATE安装 1. 下载与数据库对应版本的goldengate安装介质. 2. 创建goldengate系统用户,设置用户环境变量,如果是oracle,建议直接使用oracle作为用户安装 ...

  8. day2-模块初识之路径问题

    sys需要调用my_test,但是不在同一目录 会出现如下错误 具体办法:1.将my_test.py放到文件夹下 附:sys.py 和my-test.py具体代码 enumerate 重点:浅复制(用 ...

  9. HttpUtils 封装类

    作为一个web开发人员,对Http 请求,并不陌生.有时候,我们请求的时候,需要使用代码实现,一般情况,我们使用Apache Jakarta Common 下的子项目.的HttpClient. 可是我 ...

  10. git笔记(三)

    详细输出日志 git log --pretty=raw 查看id类型 git cat-file -t fe4c git cat-file -t b36bf6 git  cat-file  -t b08 ...