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语言下最主要的数据类型,三种原始的值-----数值,字符串,布尔值,在一定条件下会自动的转为对象.也就是原始类型的包装对象: 也就是通过如下方式 ...
随机推荐
- C# 进程通信SendMessage和有关消息参数
SendMessage是啥? 函数原型: LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam)SendMessage( ...
- vue-lazyload图片懒加载的简单使用
一.vue lazyload插件: 插件地址:https://github.com/hilongjw/vue-lazyload demo:http://hilongjw.github.io/vue-l ...
- dubbo核心流程一览
整体设计 图中从下至上分为十层,各层均为单向依赖,右边的黑色箭头代表层之间的依赖关系,每一层都可以剥离上层被复用,其中,Service 和 Config 层为 API,其它各层均为 SPI. Serv ...
- 获取select标签选中的值
js获取select标签选中的值 var obj = document.getElementById(”testSelect”); var index = obj.selectedIndex; var ...
- 服务端模拟http服务请求客户端
try { InputStream in = req.getInputStream(); int i = -1; ByteArrayOutputStream out = new ByteArrayOu ...
- MongoDB基本增删改查操作-mongo shell
基础 1.查看所有数据库: show dbs 2.选择数据库: use test 3.查看数据库中有哪些集合: show collections 如下图: 查询 1.查看集合中有哪些数据,其中abc为 ...
- RocketMQ 安装
RocketMQ 安装 1.进入目录 cd /usr 2.下载 wget http://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.3.0/rocke ...
- docker安装mongo初体验
1.docker安装在此不做介绍,请自行百度:个人环境是在windows下运行cmd执行docker命令2.打算在docker下安装使用mongo,顺带熟悉docker,拉开篇章3.docker下安装 ...
- 爬虫--XPATH解析
今天说一下关于爬取数据解析的方式---->XPATH,XPATH是解析方式中最重要的一种方式 1.安装:pip install lxml 2.原理 1. 获取页面源码数据 2.实例化一个etr ...
- Robot Framework自动化测试三(selenium API)
Robot Framework Selenium API 说明: 此文档只是将最常用的UI 操作列出.更多方法请查找selenium2Library 关键字库. 一.浏览器驱动 通过不同的浏览器 ...