js实现根据文本下标位置添加特殊标识
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<title>live_exam</title>
</head>
<body>
<!-- <div>
<div style="float: left;width: 200px;margin-top: 20px; height: 100px; background: red"></div>
<div style="display: block;overflow: hidden; height: 400px; background: blue; margin-top: 50px"></div>
</div> -->
<div id="testId"></div>
</body>
<!-- <script src="./css/channel.js"></script> -->
</html>
<script type="text/javascript">
window.onload = function(){
var str = 'abcdefghijklmnhjkobnvcxz'
var arr = [[2,4],[6,8],[9,11],[20,21]]
var result = '';
for (var i=0; i <= arr.length-1; i++) {
console.log(arr.length-1,i)
if (arr.length > 1) {
if (i == 0) {
// console.log(1)
result += str.substring(0,arr[i][0]) + '<span style="color:red">' + str.substring(arr[i][0],arr[i][1] + 1) + '</span>'
//console.log(result)
} else if (i >0 && i< arr.length-1) {
//console.log(2)
result += str.substring(arr[i-1][1] + 1,arr[i][0]) + '<span style="color:red">' + str.substring(arr[i][0],arr[i][1] +1) + '</span>'
//console.log(result)
} else if (i == arr.length-1) {
//console.log(result)
//console.log(4)
result += str.substring(arr[i-1][1] + 1,arr[i][0]) + '<span style="color:red">' +str.substring(arr[i][0],arr[i][1] + 1) + '</span>' + str.substring(arr[i][1]+ 1)
}
} else {
result += str.substring(0,arr[i][0]) + '<span style="color:red">' + str.substring(arr[i][0],arr[i][1] + 1) + '</span>' + str.substring(arr[i][1]+ 1)
} }
document.getElementById('testId').innerHTML = result
//console.log(result)
}
var text = 'ad$$1a$$nihao$$67$$nihao$$'
var reg = /\$\$.*?\$\$/ig;
var arr = []
//var reg10 = /http(s)?:/ig;
//var str2 = text.replace(reg,'')
var str2 = text.replace(reg,function(exp){
console.log('-----------')
console.log(exp)
arr.push(exp)
//console.log(exp.replace(reg10,''))
//return exp.replace(reg10,'');
}) console.log(arr)
</script>
js实现根据文本下标位置添加特殊标识的更多相关文章
- js实现在光标的位置 添加内容
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- js之向div contenteditable光标位置添加字符
js之向div contenteditable光标位置添加字符 原理: 在HTML里面,光标是一个对象,光标对象是只有当你选中某个元素的时候才会出现的. 当我们去点击一个输入框的时候,实际上它会产生 ...
- JS获取光标在input 或 texterea 中下标位置
<textarea placeholder="请输入表达式" id="methodInput" ></textarea> 获取位置: v ...
- 2.22 JS处理富文本
2.22 JS处理富文本 前言 <富文本>这篇解决了富文本上iframe问题,其实没什么特别之处,主要是iframe的切换,本篇讲解通过js的方法处理富文本上iframe的问题一.加 ...
- arcgis api 3.x for js 解决 textSymbol 文本换行显示(附源码下载)
前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...
- Mysql下在某一列后即表的某一位置添加新列的sql语句
Mysql简介 MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司.MySQL被广泛地应用在Internet上的中小型网站中.由于其体积小.速度快.总体拥有成本低,尤 ...
- js 判断一个文本框是否获得焦点
1.js 判断一个文本框是否获得焦点 // 可以用document.activeElement判断 // document.activeElement表示当前活动的元素 // 查找你要判断的文本框 ...
- 给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。
给定两个字符串 s 和 t,它们只包含小写字母.字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母.请找出在 t 中被添加的字母. 示例: 输入: s = "abcd" ...
- MongoDB "$" 字符 下标位置
我们可以修改列表里面元素的名字 例如: 修改age=34的数据,hobby里面的"足球"改为"网球" }) { "_id" : Object ...
随机推荐
- 最近在学习python,做了一道人机大战的题目,分享一下,虽然可能有些麻烦,但是每个人思维是不同的。
#题目如下:1:人和机器进行猜拳游戏写成一个类,首先选择角色:1 曹操 2张飞 3 刘备,然后选择的角色进行猜拳:1剪刀 2石头 3布 玩家输入一个1-3的数字 : 1 import random c ...
- [PA2015]Rozstaw szyn
[PA2015]Rozstaw szyn 题目大意: 一棵\(n(n\le5\times10^5)\)个点的树,其中有\(m\)个结点是叶子结点.叶子结点权值已知,你可以自己决定其余结点的权值,定义整 ...
- SwipeableFlatList 实现类似于QQ列表滑动
import React, { Component } from "react"; import { FlatList, RefreshControl, StyleSheet, T ...
- 3ds max学习笔记(十四)-- (FFD自由变形)
FFD长方体,FFD圆柱体: 栗子2:通过对长方体进行自由编辑,松弛,和涡轮平滑的操作实现抱枕模型,抱枕表面的凹凸效果,可以通过贴图的方式来实现:
- sqlserver数据类型转换
Insert into [Cet.4] Select CONVERT(VARCHAR(20),CONVERT(DECIMAL(20,7),F1)) FROM Sheet1$ 我从外部导入了一个学号表, ...
- python asyncio
3. 真-官网文档 ----超级全 http://aiohttp.readthedocs.io/en/stable/client.html#make-a-request 2. 官网文档: htt ...
- Android CollapsingToolbarLayout使用介绍
我非常喜欢Material Design里折叠工具栏的效果,bilibili Android客户端视频详情页就是采用的这种设计.这篇文章的第二部分我们就通过简单的模仿bilibili视频详情页的实现来 ...
- Kubernetes Ingress 学习
Kubernetes 中暴露服务的方式有三种 Loadbalancer 这种方式往往需要云供应商支持,或者本地F5等设备支持 NodePort 这种方式调用方通过NodeIP:NodePort 的方式 ...
- ethtool 解决网卡丢包严重和网卡原理
1 概述 最近业务上老有问题,查看发现overruns值不断增加,学习了一下相关的知识.发现数值也在不停的增加.发现这些 errors, dropped, overruns 表示的含义还不大一样. ...
- 如何确定一台linux主机是Linux (i386/i686)还是Linux (x86_64)
在下软件包的时候,往往会遇到一个选择: 假设自己的主机是Linux,那么Linux (i386/i686)和Linux (x86_64)究竟应该选哪一个呢? 针对当今的硬件而言,如果你主机的CPU是6 ...