js字符操作
js字符串方法预览:
fromCharCode(num1, num2,,,),
charAt(),
charCodeAt(),
length,
split(''),
slice(start, end?)
substring(start, end?)
trim()
concat()
toLowerCase()
toUpperCase()
indexOf(str, index?)
lastIndexOf(str, index?)
search(regexp)
match(regexp)
replace(search, replacement)
字符字面量与转义
单引号和双引号都可以表示字符字面量,'string is this' "other string is that" 推荐在js中使用单引号,HTML中使用双引号,转义字符以\开始, \n换行符 \f换页符号 \b空格符 \r回车符 \t水平制表符号 \v 垂直制表符号
charCodeAt、charAt 与 fromCharCode
fromCharCode返回由utf-16编码单元组成的字符串,而charCodeAt则返回指定位置的字符的utf-16码, charAt返回制定位置的字符
String.fromCharCode(97, 98, 99) // 'abc'
'abc'.charCodeAt(0) // 97
'abc'.charAt(0) // 'a'
length
字符串的length属性为字符串的长度, '稻草人'.length // 3
split, slice, substring
split(code, limit)将字符串转换为数组以code字符分割,limit为分隔后显示前几项
slice(start, end?)从字符串中截取子字符串,start为开始位置,end为结束位置(不包含)如果没有end参数则到字符串结尾
substring和slice函数一样,参数值可以为负值
'test'.split('') ;//['t','e','s','t']
'test'.split('', 2) //['t','e']
'test'.slice(0,2); //'te'
trim, concat
trim去除字符串两侧的空格,concat把对字符串进行拼接;
' test '.trim() //'test'
'hello'.concat(' name',' test') // 'hello name test'
toLowerCase, toUpperCase
toLowerCase 把字符串转换为小写,toUpperCase将字符串转换为大写字母
indexOf, lastIndexOf
indexOf(str, index?) str为索引的字符,index为开始的位置默认为0;
lastIndexOf(str, index?) 和indexOf一样,只是从后向前开始查找
search, match, replace
search(regexp) 返回字符串中第一个与regexp相匹配的子字符串的起始位置,为匹配则返回-1;match(regexp) 将regexp与字符串匹配,若未设置 全局匹配标志则返回第一次匹配的相关信息,若设置了全局匹配标志则返回所有匹配的子字符串;replace(str or regexp, 'replacestring'),将字符串中第一个str字符替换,或将匹配正则的字符替换,正则表达式中若设置全局标志则把所有匹配的字符全部替换,若未设置则只替换第一个匹配的字符,替换的目标字符中可以使用$符号进行完全匹配或捕获分组
'-yy-xxx-y-'.search(/x+/) // 4,不使用正则表达式时和indexOf函数一样
'-abb--aaab-'.match(/(a+)b/) // [ 'ab', 'a', index: 1, input: '-abb--aaab-' ]
'-abb--aaab-'.match(/(a+)b/g) //[ 'ab', 'aaab' ]
var str = 'iixxxixx';
log(str.replace('i', 'o') ) // oixxxixx
log(str.replace(/i/, 'o') ) // oixxxixx
log(str.replace(/i/g, 'o') ) // ooxxxoxx
log(str.replace(/i+/g, '[$&]') ) // [ii]xxx[i]xx
log(str.replace(/(i+)/g, '[$1]') ) //[ii]xxx[i]xx
//replace 使用函数
var str = 'axbbyyxaa';
function log(){
console.log.apply(null, arguments);
}
function repl(all){
return all.toUpperCase();
}
log(str.replace(/a+|b+/g, repl)); //AxBByyxAA
js字符操作的更多相关文章
- js字符串操作
javascript中字符串常用操作总结.JS字符串操作大全 String对象属性 (1) length属性 length算是字符串中非常常用的一个属性了,它的功能是获取字符串的长度.当然需要注意的是 ...
- Node.js之操作文件系统(二)
Node.js之操作文件系统(二) 1.创建与读取目录 1.1 创建目录 在fs模块中,可以使用mkdir方法创建目录,该方法的使用方法如下: fs.mkdir(path,[mode],callbca ...
- 页面循环绑定(变量污染问题),js面向对象编程(对象属性增删改查),js字符串操作,js数组操作
页面循环绑定(变量污染问题) var lis = document.querySelectorAll(".ul li") for ( var i = 0 ; i < lis. ...
- 在Node.js中操作文件系统(一)
在Node.js中操作文件系统 在Node.js中,使用fs模块来实现所有有关文件及目录的创建,写入及删除操作.在fs模块中,所有对文件及目录的操作都可以使用同步与异步这两种方法.比如在执行读文件操作 ...
- js 字符串操作函数有哪些
js 字符串操作函数有哪些 一.总结 一句话总结:js字符串函数都是字符串对象的方法,是通过调用字符串方法的方式调用,和java,php里面不一样. 1.字符串替换函数怎么用? 这里的正则表示是加双引 ...
- dedecms功能性函数封装(XSS过滤、编码、浏览器XSS hack、字符操作函数)
dedecms虽然有诸多漏洞,但不可否认确实是一个很不错的内容管理系统(cms),其他也不乏很多功能实用性的函数,以下就部分列举,持续更新,不作过多说明.使用时需部分修改,你懂的 1.XSS过滤. f ...
- js简单操作Cookie
贴一段js简单操作Cookie的代码: //获取指定名称的cookie的值 function getCookie(objName) { var arrStr = document.cookie.spl ...
- 使用HTML5的JS选择器操作页面中的元素
文件命名为:querySelector.html,可在Chrome浏览器中预览效果. 1 <!DOCTYPE html> 2 <html lang="en"> ...
- C#——字符操作
题目要求:用户随机输入字母及数字组成的字符串,当用户连续输入字符串‘hello’时,程序结束用户输入,并分别显示用户输入的字母及数字的数目. 代码: using System; using Syste ...
随机推荐
- Can't install Solaris 10 on XenServer 6.5 VM
I have XenServer 6.5 installed on a server, and i have been trying to install Solaris 10 on a VM, it ...
- [转] Draw Call未被批处理?告诉你在Unity 5.6中如何查找原因 [复制链接]
Unity在5.6之前的版本中并未提供很直接的方式来查找Draw Call未被批处理的原因,但Unity 5.6在Frame Debugger中新增了一项功能,帮助开发者查找相关信息.今天这篇文章就为 ...
- react中使用echarts(人物关系图)
项目中有时会用到echarts,可能不同的框架中语法稍有变通,前几天在react项目中遇到,写此篇以作记录. 不同的charts语法跟支持不同,本篇"echarts": " ...
- 解决Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker fro问题
项目中碰到一个问题,就是将一个map转换成json格式的时候出现错误,最后排查将延迟加载关闭后成功转换,因为数据量较大,于是重新创建了一个对象进行接收. 解决办法是在配置文件中进行配置 虽然解决了这个 ...
- 【大数据系统架构师】0.2 Linux基础
1. Linux基本环境 1.1 大数据Hadoop前置大纲讲解 1)Linux系统,基本命令 2)Java语言,JavaSE相关知识 3)MySQL基本的DML和DDL 1.2 常见Linux系统. ...
- kali linux之端口扫描
端口对应网络服务及应用端程序,服务端程序的漏洞通过端口攻入 发现开放的端口,有更具体的攻击面 nmap hping3 scapy都可以 nmap隐蔽扫描 扫描抓包 nmap僵尸扫描 先发现僵尸机,僵尸 ...
- 【bzoj4103】[Thu Summer Camp 2015]异或运算 可持久化trie树
Description 给定长度为n的数列X={x1,x2,...,xn}和长度为m的数列Y={y1,y2,...,ym},令矩阵A中第i行第j列的值Aij=xi xor yj,每次询问给定矩形区域i ...
- JS内置对象的原型不能重定义?只能动态添加属性或方法?
昨天马上就快下班了,坐在我对面的同事突然问我一个问题,我说“爱过”,哈哈,开个玩笑.情况是这样的,他发现JS的内置对象的原型好像不能通过字面量对象的形式进行覆盖, 只能动态的为内置对象的原型添加属性或 ...
- vue-persist 为 vuex 持久化!!
npm install --save vuex-persist import VuexPersistence from 'vuex-persist' const vuexLocal = new Vue ...
- Windows10 下安装 MySQL Workbench + Thinkphp
昨天,搭建了最基本的 W + I + M + P 环境,今天把 workbench 装上,毕竟效率是第一位的,还不是吾装的时候. MySQL.org 下载最新的 workbench,一路安装倒是没有任 ...