JavaScript字符串相关
嘛,开头来个定义好了!
首先它是JavaScript基本数据类型之一。字符串由零或多个16位Unicode字符组成的字符序列,用''或者""表示。
它有一些转义序列,例如\n \t \b \r \f \\ \' \" \xnn \unnnn等等。
接下来看看它的属性:
length 任何字符串可通过该属性获得字符串长度;
var text="This is a blog.";
console.log(text.length); //15
其次是方法:
转为字符串:toString() 和String()函数
toString()返回相应字符串值。除了null和undefined以外,所有数值,布尔值,对象和字符串值都有该方法。
一般情况下,可以不传参数,此时,输出值与指定基数10时的输出相同。它可以传一个参数:输出数值的基数。通过传递技术,toString()可以输出以二进制,八进制,十六进制或其他任意有效进制格式表示的字符串值。例如:
var num=10;
console.log(num.toString()); //"10"
console.log(num.toString(2)); //"1010"
console.log(num.toString(10)); //"10"
console.log(num.toString(16)); //"a"
String()函数不知转换值是不是null或者undefined时使用,它可以将任何类型的值转为字符串。String()遵循下列转换规则:
- 如果值有toString()方法,则调用该方法(没有参数)并返回相应结果;
- 如果值是null,则返回"null";
- 如果值是undefined,则返回"undefined".
var num=10;
var boolvalue=true;
var nullvalue=null;
var value; console.log(String(num)); //"10"
console.log(String(boolvalue)); //"true"
console.log(String(nullvalue)); //"null"
console.log(String(value)); //"undefined"
搜索字符对应位置的方法:indexOf()与lastIndexOf()
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置
两个参数,第一个参数是需要检索的字符串值,必须参数;第二个参数是从哪个位置开始检索,默认从字符串首部开始检索,选填参数。找到了返回首次出现的位置,若找不到返回-1.
var s='hello toyocc';
console.log(s.indexOf('t',3)); //6
console.log(s.indexOf('o',0)); //4
console.log(s.indexOf('o')); //4
console.log(s.indexOf('s')); //-1
lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索
两个参数,第一个参数是需要检索的字符串值,必须参数;第二个参数是从哪个位置开始检索,默认从字符串最后一个字符处开始检索,选填参数。找到了返回最后出现的位置,若找不到返回-1.
var s="It's me, toyocc";
console.log(s.lastIndexOf('t',3)); //1
console.log(s.lastIndexOf('o',0)); //-1
console.log(s.lastIndexOf('o')); //12
console.log(s.lastIndexOf('s')); //3
分割方法:split()分割成字符串数组 及扩展方法Array.join()
split() 把字符串分割为字符串数组。两个参数,第一个参数是字符串或正则表达式,指定从哪儿开始分割字符串,必须参数(第一个参数一般可以是一个空格" ",将分成一个个单词。也可以是什么也没有的"",将字符处每个字符包括空格都分割开来);第二个参数是设置返回的字符串数组的最大长度,默认是全部返回,选填参数。
扩展:数组的join()方法与字符串方法刚好相反,Array.join()将字符串数组连接成一个字符串
var s="Hei, toyocc";
console.log(s.split(" ")); //["Hei,", "toyocc"]
console.log(s.split("")); //["H", "e", "i", ",", " ", "t", "o", "y", "o", "c", "c"]
console.log(s.split("",5)); //["H", "e", "i", ",", " "]
/*扩展*/
var a=["H", "e", "i", ",", " ", "t", "o", "y", "o", "c", "c"];
console.log(a.join()); //"H,e,i,,, ,t,o,y,o,c,c"默认使用","连接整个字符串
console.log(a.join());//"Hei, toyocc"
连接方法:concat() 与使用"+"连接符号
concat()这个是连接字符串的方法,参数就是需要顺序连接在字符串尾部的字符串,可传多个参数。平时字符串连接使用多的是"+"连接。
console.log("I'm".concat(" ","toyocc",".")); //I'm toyocc.
console.log("I'm"+" "+"toyocc"+"!"); // I'm toyocc!
截取子字符串方法:slice(),substring()与substr()
slice() 提取字符串的片断,并在新的字符串中返回被提取的部分。它有两个参数,第一个参数是起始位置,第二个是结束位置。截取返回的是起止位中间部分。这两个参数都可以为负数,负数表示从字符串末尾开始数起,-1表示最后一个字符,以此类推。它与数组的方法alice()方法类似。
substring() 方法用于提取字符串中介于两个指定下标之间的字符。它也是两个参数,第一个起始下标,必需参数;第二个参数是终止下标,选填参数,默认截取到字符串末尾。截取返回中间部分,两个参数都是非负数。substring() 方法返回的子串包括起始下标的字符,但不包括终止下标处的字符。
substr() 方法可在字符串中抽取从起始下标开始的指定数目的字符。它有两个参数,第一个参数是起始下标,必需参数,可为负数,负数是倒着数的;第二个参数是需要截取的新字符串长度,选填参数,默认不填表示截取到字符串最后一个字符。不过这个方法不太推荐使用,因为ie4不识别起始下标,而且ECMAscript木有对它进行标准化。
var s="hello,toyocc.";
console.log(s.slice(2,5)); //'llo'
console.log(s.slice(-2,-1)); //'c'
console.log(s.substring(1,5)); //'ello'
console.log(s.substring(2)); //'llo,toyocc.'
console.log(s.substr(1,5)); //'ello,'
console.log(s.substr(1)); //'ello,toyocc.'
字符相关:charAt() 与 charCodeAt()
charAt() 返回在指定位置的字符。该方法传入一个参数,即字符在字符串中的下标,必需参数,若参数不在字符串下标范围内,那么返回一个空字符串。
charCodeAt()返回在指定的位置的字符的 Unicode 编码。该方法传入一个参数,即字符在字符串中的下标,必需参数,若参数是负数,或大于等于字符串的长度,则返回 NaN。这个方法可以用于自己动手写parseInt()方法中字符变数字部分!
方法 charCodeAt() 与 charAt() 方法执行的操作相似,只不过前者返回的是位于指定位置的字符的编码,而后者返回的是字符子串。
console.log('toyocc'.charAt(2)); //"y"
console.log('toyocc'.charCodeAt(2)); //121
console.log('toyocc'.charAt(-2)); //""
console.log('toyocc'.charAt(20)); //""
console.log('toyocc'.charCodeAt(-2)); //NaN
console.log('toyocc'.charCodeAt(20)); //NaN
匹配方法:match()与replace()与search()
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。只有一个参数,要么是需要检索的字符串值,那么它返回指定的值;要么是一个正则表达式,得到一个满足匹配的数组。
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。两个参数,第一个参数是要被替换的字符串或者一个正则表达式,必需参数;第二个参数是替换字符串或者函数。
search()检索与正则表达式相匹配的值,返回第一个匹配的起始位置。一个参数,即一个正则表达式。找不到匹配的值,返回-1。
这部分算是难点,需要配合正则表达式的地方要Ga油!多用用就好了吧。这部分例子就不给了吧。容我好好补习正则了再过来!!!
延伸:eval()函数,将字符串当作JavaScript代码来执行的方法。这个可用于简单计算,也可以执行一些简单js语句
console.log(eval("2+4")); //6
console.log(eval("console.log('hello toyocc!')")); //hello toyocc!
使用不同形式显示字符串
big()用大号字体显示字符串。
blink()显示闪动字符串。
bold()使用粗体显示字符串
fixed()以打字机文本显示字符串。
fontcolor()使用指定的颜色来显示字符串。
fontsize()使用指定的尺寸来显示字符串。
fromCharCode()从字符编码创建一个字符串。
italics()使用斜体显示字符串。
link()将字符串显示为链接。
small()使用小字号来显示字符串。
strike()使用删除线来显示字符串。
sub()把字符串显示为下标。
sup()把字符串显示为上标。
toLocaleLowerCase()把字符串转换为小写。
toLocaleUpperCase()把字符串转换为大写。
toLowerCase()把字符串转换为小写。
toUpperCase()把字符串转换为大写。
toSource()代表对象的源代码。
valueOf()返回某个字符串对象的原始值。
方法的使用就像楼上那些一样,不对的话就去查看w3cshool里面具体用法吧!写这篇博文好崩溃呀。后期再来把代码补齐。。。
JavaScript字符串相关的更多相关文章
- javascript 字符串相关知识汇总
① charAt(): 选中字符串内第几个元素 <script> var str="1234567389"; alert( str.charAt(1) ); // 2 ...
- JavaScript 字符串用于存储和处理文本
JavaScript 字符串用于存储和处理文本 var string_value='dasfsdfsd'; 注意:字符串利用索引精确定位取值 var character=string_value[7] ...
- JavaScript 字符串实用常操纪要
JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...
- JavaScript 字符串操作
JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...
- 常用linux 命令 -字符串相关
参考网络文章,个人工作总结 题记:一般对字符串的操作有以下几种:求长度,截取字符串,拼接字符串,找字符串中某个字符的索引 1 expr 命令 1.1 定义 man 手册 Print the value ...
- JavaScript 字符串常用操作
JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...
- 【Todo】字符串相关的各种算法,以及用到的各种数据结构,包括前缀树后缀树等各种树
另开一文分析字符串相关的各种算法,以及用到的各种数据结构,包括前缀树后缀树等各种树. 先来一个汇总, 算法: 本文中提到的字符串匹配算法有:KMP, BM, Horspool, Sunday, BF, ...
- python中跟字符串相关的一些操作
公司让用python自动生成代码,以前没看过python.所以匆匆的看了两天python就连猜带蒙就上马开干了..因此好多操作可能看的时候看懂了,用的时候知道有这么个东西,具体用法就忘记了..用到了就 ...
- JavaScript 字符串(String) 对象
JavaScript 字符串(String) 对象 String 对象用于处理已有的字符块. JavaScript 字符串 一个字符串用于存储一系列字符就像 "John Doe". ...
随机推荐
- 小程序 模态对话框自定义组件(modal)
1. 概述 1.1 说明 小程序中使用wx.showModal(Object object)打开一个模态对话框,但是目前小程序所提供的modal中的内容显示比较死板,不能够完全满足工作中所遇到的功能信 ...
- jupyter notebooks 中键盘快捷键
键盘快捷键——节省时间且更有生产力! 快捷方式是 Jupyter Notebooks 最大的优势之一.当你想运行任意代码块时,只需要按 Ctrl+Enter 就行了.Jupyter Notebooks ...
- linux无法联网使用yum提示cannot find a valid baseurl for repobase7x86_64
每次安装新镜像时会遇到物理机有网络新安装的linux中却无法与物理机通信(不能连网),只能玩一些预装功能.命令,无法使用各种常用工具(特别是MINI版连ifconfig都没有o(╥﹏╥)o),下面记录 ...
- openKM部署二次开发,eclipse环境
1.下载openKM_install_forwin安装包,配置jdk环境,start openKM,访问localhost\OpenKM,用户:okmAdmin 密码:admin.查看是否启动成功.安 ...
- 查看linux空间大小
du -sh : 查看当前目录总共占的容量.而不单独列出各子项占用的容量 du -lh --max-depth=1 : 查看当前目录下一级子文件和子目录占用的磁盘容量.
- git更新Activemq在远程github上指定版本的源码步骤
第一步:根据地址克隆源码 (activemq-5.9) $ git clone https://github.com/apache/activemq.git 第二步:查看远程源码的版本清单 ( ...
- P1516 青蛙的约会
P1516 青蛙的约会x+mt-p1L=y+nt-p2L(m-n)t+L(p2-p1)=y-x令p=p2-p1(m-n)t+Lp=y-x然后套扩欧就完事了 #include<iostream&g ...
- C#使用CefSharp碰到的坑(一)
使用CEFSharp做模拟提交的话,在高版本下会出现一个神奇的错误: 如果站点使用的是阿里提供的验证控件的话,就是那种拖动条的,如果是使用CEFSharp的新版本的(目前我是测试过70的) ,会出现拖 ...
- JavaScript之扑朔迷离的this
JavaScript这门语言中,最令人迷惑的地方有三个,闭包.this.原型.针对大多数人,可以利用词法作用域等避开this的坑,但是我们不能一直生活在舒适区,要敢于打破砂锅问到底,对我们来说也是一种 ...
- 【JavaScrpt】用js创建html上的元素
// 在body下创建一个div var createDiv=document.createElement("div"); createDiv.id='id_i'; createD ...