JavaScript字符串相关

时间:2022-05-11 06:50:43
 

嘛,开头来个定义好了!

首先它是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字符串相关的更多相关文章

  1. javascript 字符串相关知识汇总

    ① charAt(): 选中字符串内第几个元素 <script> var str="1234567389"; alert( str.charAt(1) ); // 2 ...

  2. JavaScript 字符串用于存储和处理文本

    JavaScript 字符串用于存储和处理文本 var string_value='dasfsdfsd'; 注意:字符串利用索引精确定位取值 var character=string_value[7] ...

  3. JavaScript 字符串实用常操纪要

    JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...

  4. JavaScript 字符串操作

    JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...

  5. 常用linux 命令 -字符串相关

    参考网络文章,个人工作总结 题记:一般对字符串的操作有以下几种:求长度,截取字符串,拼接字符串,找字符串中某个字符的索引 1 expr 命令 1.1 定义 man 手册 Print the value ...

  6. JavaScript 字符串常用操作

    JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...

  7. 【Todo】字符串相关的各种算法,以及用到的各种数据结构,包括前缀树后缀树等各种树

    另开一文分析字符串相关的各种算法,以及用到的各种数据结构,包括前缀树后缀树等各种树. 先来一个汇总, 算法: 本文中提到的字符串匹配算法有:KMP, BM, Horspool, Sunday, BF, ...

  8. python中跟字符串相关的一些操作

    公司让用python自动生成代码,以前没看过python.所以匆匆的看了两天python就连猜带蒙就上马开干了..因此好多操作可能看的时候看懂了,用的时候知道有这么个东西,具体用法就忘记了..用到了就 ...

  9. JavaScript 字符串(String) 对象

    JavaScript 字符串(String) 对象 String 对象用于处理已有的字符块. JavaScript 字符串 一个字符串用于存储一系列字符就像 "John Doe". ...

随机推荐

  1. Lua学习----Lua的表达式

    前言 Lua的运算符和其他语言基本类似.但也有一点点区别 1.算术运算符 Lua的算术运算符加入了指数运算符^ print(2 ^ 10) -->打印 1024. 求2的10次方 2.关系运算符 ...

  2. 【目录】微软Infer&period;NET机器学习组件文章目录

    本博客所有文章分类的总目录链接:http://www.cnblogs.com/asxinyu/p/4288836.html 1.微软Infer.NET机器学习组件目录 1. Infer.NET连载(一 ...

  3. 使用gdb调试Python进程

    使用gdb调试Python进程 有时我们会想调试一个正在运行的Python进程,或者一个Python进程的coredump.例如现在遇到一个mod_wsgi的进程僵死了,不接受请求,想看看究竟是运行到 ...

  4. DataTable&period;select&lpar;&rpar; 返回 DataTable

    DataTable.select() 默认返回值为 DataRow[]数组 代码来自网络: /**/ /// <summary> /// 执行DataTable中的查询返回新的DataTa ...

  5. 全方位掌握 NSIS 的操作

    NSIS 确实是一个不错的安装程序制作软件.新版本2.0a7真正实现了中文支持和支持 WinXP 的安装对话框.不过要用它实现漂亮的安装界面和完美的安装功能就必须好好的写脚本.而 NSIS 的脚本指令 ...

  6. 给iOS 模拟器&OpenCurlyDoubleQuote;安装”app文件

    前言 刚刚接触iOS的时候,我就一直很好奇,模拟器上面能不能直接安装app呢?如果可以,我们就直接在模拟器上面聊QQ和微信了.直到昨天和朋友们聊到了这个话题,没有想到还真的可以给模拟器“安装”app! ...

  7. maven 3&period;3&period;9-bin 和 maven 3&period;3&period;9-src 的区别 以及 maven安装包的 &period;tar&period;gz后缀与&period;zip 后缀的区别

    (maven 3.3.9-bin)一个是class的文件包,由java文件编译成的,(maven 3.3.9-src )一个是java文件包即是源码(.tar.gz后缀)是linux的压缩包,(.zi ...

  8. getElementById 用法的一个技巧

    假设实现把 TextBox1 的字符实时的拷贝到 TextBox2 中,代码如下: <Script language="Javascript">         fun ...

  9. Log4Net日志配置

    1.添加Log4net.dll引用 将release版Log4net.dll拷贝到Lib文件夹,然后添加引用.

  10. SqlServer基础语法(二)

    先看一下腰实现的功能: