Javascript字符串
## 定义
```
var str = new String("abcdefg");
var str = "abcdefg";
``` ## 常用方法
### 字符方法
1.charAt(index):返回下标为index的字符
```
//字符串“Hello World!”下标为1的字符
var str = "Hello World!";
console.log(str.charAt(1)); // e
```
2.方括号[index]:返回下标为index的字符(IE8以前不支持,会返回undefined)
```
//字符串“Hello World!”下标为1的字符的ASCII码
var str = "Hello World!";
console.log(str[1]); // e
```
3.charCodeAt():返回下标为index的字符编码(ASCII码)
```
//字符串“Hello World!”下标为1的字符的ASCII码
var str = "Hello World!";
console.log(str.charCodeAt(1)); // 101
```
### 拼接字符串
1.str.concat(str1,str2,str3....):str与str1,str2,str3...进行拼接
```
// 将"Hello"," World!","My Blog!"三个字符串拼接起来
var str1 = "Hello";
var str2 = " World!";
var str3 = "My Blog!";
var str4 = str1.concat(str2,str3);
console.log(str4); // Hello World!My Blog!
```
2.加号+
```
// 将"Hello"," World!","My Blog!"三个字符串拼接起来
var str1 = "Hello";
var str2 = " World!";
var str3 = "My Blog!";
var str4 = str1 + str2 + str3;
console.log(str4); // Hello World!My Blog!
```
### 剪切字符串
1.str.slice(start,end):获取[start,end)之间的字符串
若start,end为正数,从前往后计算,获取[start,end)之间的字符串,注意end是开区间,开头第一个字符的下标从0开始
若start,end为负数,从后往前计算,获取[start,end)之间的字符串,末尾第一个字符的下标从-1开始
```
var str = "Hello World!";
//获取str的“llo”
var subStr1 = str.slice(2,5);
console.log(subStr1); // llo
//获取str的“orl”
var subStr2 = str.slice(-5,-2);
console.log(subStr2); //orl
```
2.str.substr(start,length):从下标为start位置开始获取长度为length的字符串。
注意,若start为负数的话,表示从后向前进行计算start的位置,-1表示最后一个字符
```
var str = "Hello World!";
// 获取字符串Hello
var subStr1 = str.substr(0,5);
console.log(subStr1); // Hello
//获取字符串World
var subStr2 = str.substr(-6,5);
console.log(subStr2); // World
```
3.str.substring(start,end):提取[start,end)之间的字符串,注意start,end都要非负
```
var str = "Hello World!";
//获取str的“llo”
var subStr1 = str.substring(2,5);
console.log(subStr1); // llo
```
### 字符串位置方法
1.indexOf(searchvalue,fromindex):从fromindex开始向后寻找searchvalue首次出现的位置,默认为0。
```
// 获取下列字符串的字符‘o’的所有位置
var str = "Hello World! Welcome to my Blog!";
var arr = [];
var pos = str.indexOf('o');
arr.push(pos);
while(true){
pos = str.indexOf('o',pos+1);
if(pos == -1) break;
arr.push(pos);
}
console.log(arr); // [4, 7, 17, 22, 29]
```
1.lastIndexOf(searchvalue,fromindex)从fromindex开始向前寻找searchvalue首次出现的位置,默认为0。
```
// 获取下列字符串的字符‘o’的所有位置
var str = "Hello World! Welcome to my Blog!";
var arr = [];
var pos = str.lastIndexOf('o');
arr.push(pos);
while(true){
pos = str.lastIndexOf('o',pos-1);
if(pos == -1) break;
arr.push(pos);
}
console.log(arr); // [29, 22, 17, 7, 4]
```
### 删除多余空格
trim():去除字符串两端多余的空格
```
//由于输出字符串空格不好看出来,所以输出长度看看
var str = " abc ";
console.log(str.length); // 5
str = str.trim();
console.log(str.length); //3
```
### 比较字符串
str1.localeCompare(str2):
返回0:字符串str1等于参数str2。
返回负数:字符串str1的字典序先于参数str2。
返回正数:字符串str2的字典序后于参数str2。
```
var str1 = "yellow";
console.log(str1.localeCompare("yellow")); //0
console.log(str1.localeCompare("zoo")); //-1
console.log(str1.localeCompare("abc")); //1
```
### 模式匹配
涉及到正则表达式,内容太多,以后专门写个博文总结。 #### 参考文献: - \[1]《javascript高级程序设计》
Javascript字符串的更多相关文章
- JavaScript 字符串实用常操纪要
JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...
- JavaScript 字符串操作
JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...
- JavaScript 字符串常用操作
JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...
- JavaScript 字符串(String) 对象
JavaScript 字符串(String) 对象 String 对象用于处理已有的字符块. JavaScript 字符串 一个字符串用于存储一系列字符就像 "John Doe". ...
- IE JavaScript字符串转换成Date后出现NaN错误
参考的博文:http://blog.csdn.net/zhu7478848/article/details/53388582 在IE浏览器下, JavaScript字符串转换成Date后会出现NaN错 ...
- JavaScript 字符串常用操作纪要
JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...
- JavaScript字符串插入、删除、替换函数
JavaScript字符串插入.删除.替换函数 说明: 以下函数中前两个函数取出查找字符串的前一部分和后一部分,以用于其他函数.注意,调用一次 replaceString(mainStr,search ...
- javascript 字符串方法传参
javascript 字符串方法传参由于嵌套的单引号,双引号过多.有点混乱.. 正确方法如下: ' <td align="left"><input type= ...
- JavaScript 字符串(String)对象
String 对象用于处理已有的字符块. JavaScript 字符串 一个字符串用于存储一系列字符就像 "John Doe". 一个字符串可以使用单引号或双引号: 实例 var ...
- step_by_step_记录一个javascript字符串处理问题
记录一个javascript字符串处理的问题 这一天下班,技术QQ群里的大神提出了一个问题,带着问题去思考. ? '---9890.999008-555555-55555555----' 对于这样的字 ...
随机推荐
- 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式
在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式 转载自:http://blog.163.com/smhily_min/blog/static/75206226201092011 ...
- SQL Serve里你总要去改变的3个配置选项
你用安装向导安装了全新的SQL Server,最后你点击了完成按钮.哇噢~~~现在我们可以把我们的服务器进入生产了!抱歉,那并不是真的,因为你的全新SQL Server默认配置是错误的. 是的,你没看 ...
- Toritoisegit记住用户名密码
TortoiseGit每次连接git都得输入密码了,如果我们用到的比较频繁这样是很麻烦的,那么下面我们来看一篇关于window设置TortoiseGit连接git不用每次输入用户名和密码的配置,具体的 ...
- LINUX下NFS系统的安装配置
准备:NFS系统服务器IP 192.168.135.1 ,NFS共享目录/mnt/NFS 一.安装NFS 查看nfs是否安装 #rpm -qa | grep nfs 若没有则安装nfs包 #yum i ...
- 大一上学期的一点小疑惑,代码验证ok
#include<iostream> using namespace std; class test { int *p; int pn; public: test(int n) { p = ...
- python黑客编程之端口爆破
#coding:utf-8 from optparse import OptionParser import time,re,sys,threading,Queue import ftplib,soc ...
- chrome插件编写之新版hello world
编写chrome插件之前,需要熟悉一下相应的chrome插件开发环境.从编写hello world开始,参考阅读官方的教程,是一个不错的选择.这里主要是基于chrome的官方教程,稍稍做了一些修改和扩 ...
- ef操作类
基于Hi博客的类库 20160811 using Model; using System; using System.Collections.Generic; using System.Data.En ...
- O(1) 查询gcd
我们来安利一个黑科技.(其实是Claris安利来的 比如我现在有一坨询问,每次询问两个不超过n的数的gcd. n大概1kw,询问大概300w(怎么输入就不是我的事了,大不了交互库 http://mim ...
- Eclipse和MyEclipse工程描述符.classpath和.project和.mymetadata详解aaaaaa(转)
Eclipse和MyEclipse工程描述符.classpath和.project和.mymetadata详解(转) (2012-03-28 15:06:54) 转载▼ 标签: .mymetadata ...