JavaScript里面的居民们2-字符串
基于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-字符串的更多相关文章
- JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString
JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString 如下示例: 直接写的a1就是一个Json对象,a2 就是一个Json对象字符串; 通 ...
- JavaScript和php常用语法——切割字符串
在面向Web的应用中,前台和后台通信非常常用的一种格式就是字符串,所以,在通信中,我们不可避免的就需要进行字符串的拼切. 在js代码中,当我们传递一个字符串到后台代码时,我们在后台需要对字符串进行切割 ...
- 每天一个JavaScript实例-递归实现反转数组字符串
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- JavaScript中有三个可以对字符串编码的函数,分别是: escape(),encodeURI(),encodeURIComponent()
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decod ...
- JavaScript eval() 函数,计算某个字符串,并执行其中的的 JavaScript 代码。
JavaScript eval() 函数,计算某个字符串,并执行其中的的 JavaScript 代码. 适合用于计算器的计算,等. 例子: eval("x=10;y=20;document. ...
- JavaScript学习笔记(二)——字符串
在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/ ...
- 妙味课堂:JavaScript初级--第11课:字符串、查找高亮显示
1.数字字母 Unicode 编码 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content- ...
- JavaScript基础知识(正则表达式、字符串)
23.正则表达式 作用:定义一个特定的验证字符串内容规则的表达式 注:正则表达式并不是JavaScript独有的:JavaScript支持正则表达式 var a = { }; // 定义一个空对象 ...
- JavaScript八张思维导图—字符串用法
JS基本概念 JS操作符 JS基本语句 JS数组用法 Date用法 JS字符串用法 JS编程风格 JS编程实践 不知不觉做前端已经五年多了,无论是从最初的jQuery还是现在火热的Angular,Vu ...
- 每日分享!~ vue JavaScript中为什么可以读取到字符串的长度!(包装对象)
首先需要知道什么是包装对象? 对象是JavaScript语言下最主要的数据类型,三种原始的值-----数值,字符串,布尔值,在一定条件下会自动的转为对象.也就是原始类型的包装对象: 也就是通过如下方式 ...
随机推荐
- Machine learning 吴恩达第二周coding作业(必做题)
1.warmUpExercise: function A = warmUpExercise() %WARMUPEXERCISE Example function in octave % A = WAR ...
- Linux 通过程序名获取进程ID并Kill
#!/bin/bash pids=$(ps -ef | grep XXX| awk '{print $2}') for pid in $pids do echo $pid kill -9 $pid d ...
- 日志一直打印 DEBUG o.s.amqp.rabbit.listener.BlockingQueueConsumer
<?xml version="1.0" encoding="UTF-8"?> <configuration> <logger na ...
- 安装Windows 64 位 mysql 最新版本解压包中没有data目录和my-default.ini及服务无法启动的快速解决办法
mysql官网下载地址:https://dev.mysql.com/downloads/mysql/ 首先安装包解压后,没有网上教程里面提到的data文件夹和my-default.ini 配置环境变量 ...
- hadoop job -kill 和 yarn application -kill 区别
hadoop job -kill 调用的是CLI.java里面的job.killJob(); 这里会分几种情况,如果是能查询到状态是RUNNING的话,是直接向AppMaster发送kill请求的.Y ...
- Servlet验证
一.servlet代码 二.验证 三.总结 在这个servlet验证过程当中,主要是解码方式的运用,特别是输入中文时容易出现乱码.在表单的action中需要输入路径. 四.网盘 链接:https:// ...
- CentOS&.NET Core初试-1-CentOS的安装和网卡的配置
系列目录 CentOS的安装和网卡的配置 安装.NET Core SDK和发布网站 Nginx的安装和配置 安装守护服务(Supervisor) 软件环境 系统版本:CentOS Linux rele ...
- js获取字符串字节的位数
ifSubUser.getBlength = function(str){ ;i--;){ n += str.charCodeAt(i) > ? : ; } return n; }
- 溶解shader
玩神界原罪2,感觉人物被建筑遮挡时,建筑的“溶解”效果很有意思,想实现一下.然后发现连溶解都没实现过,emmmmm....先来把溶解实现了~ 原理就是根据一张噪声图的值是否大于某个阈值,来判断是否丢弃 ...
- UCF约束介绍
约束 (一)约束的分类: 利用FPGA进行系统设计常用的约束主要分为3类. (1)时序约束:主要用于规范设计的时序行为,表达设计者期望满足的时序条件,知道综合和布局布线阶段的优化算法等. (2)布局布 ...