字符串

  双引号""或单引号''包围的都是字符串。

创建字符串

  直接用单引号或双引号包围。
var str1="我的过去";
console.log(typeof str1) //string
var str2='我的过去';
console.log(typeof str2) //string
var str3='';
console.log(typeof str3) //string
var str4="[1,2,3,4]";
console.log(typeof str4) //string

字符串长度 .length

  字符串的 length 是不能修改的,但数组的能修改
var str="abcd";
console.log(str.length) //4 字符串长度
var str2="我的过去";
console.log(str2.length) //4 字符串长度,中文的也是4,并不占两个字符长度
str2.length=5
console.log(str2.length) //4 字符串的 length 是不能修改的,但数组的能修改

获取指定位置的字符 charAt()

  括号里需要传入要获取字符的下标,从0到str.length-1。或不在这个范围,返回空。
var str="我的过去";
console.log(str[0]) //我
console.log(str.charAt(1)) //的
console.log(str.charAt(9)) //返回空

返回字符的十进制 Unicode 编码 charCodeAt()

  括号里输入要处理的字符串索引(下标),返回的是十进制 unicode 哟。
a-z 97-122
A-Z 65-90
0-9 48-57
空格 32
回车 12
左 37
上 38
右 39
下 40
var str="daysme";
console.log(str.charCodeAt(0)) //返回100 , d 字母的 十进制 unicode 码是 100 。

把 unicode 编码转为字符 string.formCharCode()

  可以输入多个值。
console.log(String.fromCharCode(100)) //d
console.log(String.fromCharCode(25105,30340,36807,21435)) //我的过去

从头开始检索指定字符串 indexOf()

  第一个参数是要查找的相应字符;
第二个参数是表示要查找的开始位置(包含输入的位置)。
如果没有传入第二个参数,默认从头开始找。
找到时返回找到字符的下标,找不到返回-1。
var str="我的过去,我的过去,我的过去"
console.log(str.indexOf("过")) //2
console.log(str.indexOf("过去")) //2 ,也是2,因为它找的是一个整体
console.log(str.indexOf("我")) //0 ,不指定开始位置时从0开始找
console.log(str.indexOf("我",4)) //5 ,从第4个位置开始找“我”,找到的下标是5
console.log(str.indexOf("我",5)) //5 ,从第5个位置开始找“我”,也包含位置5
console.log(str.indexOf("你")) //-1 ,找不到即返回 -1

从后面开始检索指定字符串 lastIndexOf()

  与 indexOf() 相同,但他是从后面开始查找。返回一个指定字符最后出现的位置。
var str="我的过去,我的过去"
console.log(str.lastIndexOf("我")) // 5 ,从后往前检索,为什么结果是 5 不是 3 不是 4 ?
//因为返回到的是字符下标,下标都是从左到右 0 开始的。

截取字符串 substring(start,end)

  start 开始位置(包含)
end 结束位置(不包含)。
返回一个新的字符串。
注意: substring 的 strong 并不写成大写的 Strong 。
参数不能是负值。
var str="我的过去"
console.log(str.substring(0)) //我的过去
console.log(str.substring(0,2)) //我的

截取字符串 slice()

  传入的参数也是开始位置和结束位置。
与 substring 的不同是 slice 可以是负值。
如果为负值时把最后一个作为开始。
比如 -1 指字符串的最后一个字符。
如果参数错误,返回空。
var str="我的过去"
console.log(str.slice(0)) //我的过去
console.log(str.slice(0,2)) //我的
console.log(str.slice(-3,-1)) //的过
console.log(str.slice(-3,0)) //返回空,错误。

分割字符串 split()

  参数1表示开始分割的标签符;
参数2表示允许分割的最大长度,一般不设置。
var str="a/b/c/d/e/f";
console.log(str.split("/")); //["a", "b", "c", "d", "e", "f"]
var str="a/b/c/d/e/f";
console.log(str.split("b")); //["a/", "/c/d/e/f"]
var str="a/b/c/d/e/f";
console.log(str.split()); //["a/b/c/d/e/f"] 整个转为数组
console.log(str.split("我的过去")); //["a/b/c/d/e/f"] 同上,不能以传入的参数分割时,以忽略参数处理,整个转为数组
console.log(str.split("")); //["a", "/", "b", "/", "c", "/", "d", "/", "e", "/", "f"] 每项都分开了

字符串颠倒

// 把字符串颠倒 "abcdef" -> "fedcba"
// 一
var str="abcdef";
var str2="";
for(i=0;i<str.length;i++){
  str2+=str[str.length-i-1];
}
console.log(str2)
// 二
console.log(str.split("").reverse().join(""));

转换为大写 toUpperCase()

var str="Hello World!"
console.log(str.toUpperCase()); //HELLO WORLD!

转换为小写 toLowerCase()

var str="Hello World!"
console.log(str.toLowerCase()); //hello world!
 

JS字符串的更多相关文章

  1. JS字符串替换函数:Replace(“字符串1″, “字符串2″),

    JS字符串替换函数:Replace(“字符串1″, “字符串2″), 1.我们都知道JS中字符串替换函数是Replace(“字符串1″, “字符串2″),但是这个函数只能将第一次出现的字符串1替换掉, ...

  2. js 字符串转换成数字的三种方法

    在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b.value,因为他们都是字符串形 ...

  3. 探讨js字符串数组拼接的性能问题

    这篇文章主要介绍了有关js对字符串数组进行拼接的性能问题,字符串连接一直是js中性能最低的操作之一,应该如何解决呢?请参看本文的介绍 我们知道,在js中,字符串连接是性能最低的操作之一. 例如: 复制 ...

  4. 随笔 JS 字符串 分割成字符串数组 并动态添加到指定ID的DOM 里

    JS /* * 字符串 分割成字符串数组 并动态添加到指定ID的DOM 里 * @id 要插入到DOM元素的ID * * 输入值为图片URL 字符串 * */ function addImages(i ...

  5. js 字符串分割成字符串数组 遍历数组插入指定DOM里 原生JS效果

    使用的TP3.2 JS字符串分割成字符串数组 var images='{$content.pictureurl} ' ;结构是这样 attachment/picture/uploadify/20141 ...

  6. js动态获取当前系统时间+js字符串转换为date日期对象

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  7. 从js的repeat方法谈js字符串与数组的扩展方法

    js将字符串重复N次的repeat方法的8个版本 /* *@desc: 将一个字符串重复自身N次 */ //版本1:利用空数组的join方法 function repeat(target, n) { ...

  8. js字符串长度计算(一个汉字==两个字符)和字符串截取

    js字符串长度计算(一个汉字==两个字符)和字符串截取 String.prototype.realLength = function() { return this.replace(/[^\x00-\ ...

  9. js字符串 数字 的转换

    js 字符串转化成数字 的 三种方法主要有 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数 ...

  10. html 转 js 字符串

    看到一个牛人的博客  http://riny.net/lab/#tools_html2js 看了下他的代码  挺棒的 所依赖的两个库在这里 https://github.com/Bubblings/l ...

随机推荐

  1. js实现倒计时及时间对象

    JS实现倒计时效果代码如下: <!doctype html> <html> <head> <meta charset="utf-8"> ...

  2. SCI写作经验交流,别人的经验借鉴下,很有用的!

    http://www.dxy.cn/bbs/topic/27127771 语言是非英语国家论文的最大障碍.首先是时态和语态:在前言和讨论里,描述该研究的过去历史和现状时,要使用相应的时态:过去就使用过 ...

  3. singleton(单件)-对象创建型模式

    1.意图 保证一个类仅有一个实例,并提供一个访问它的全局访问点. 2.动机 对一些类来说,只有一个实例是很重要的.让类自身负责保存它唯一的实例,这个类可以保证没有其他实例可以被创建(通过截取创建新对象 ...

  4. c语言中enum类型的用法

    11.10 枚举类型 在实际问题中,有些变量的取值被限定在一个有限的范围内.例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等等.如果把这些量说明为整型,字符型或其它类型显然是不妥当的 ...

  5. flash builder4.7bug

    flash builder4.7项目,swc中的button实例出来有bug,解决办法: 1,把button都改成movieclip. 2,改用swf做资源.

  6. [转载] 散列表(Hash Table) 从理论到实用(下)

    转载自: 白话算法(6) 散列表(Hash Table) 从理论到实用(下) [澈丹,我想要个钻戒.][小北,等等吧,等我再修行两年,你把我烧了,舍利子比钻戒值钱.] ——自扯自蛋 无论开发一个程序还 ...

  7. [转]理解dropout

    理解dropout 原文地址:http://blog.csdn.net/stdcoutzyx/article/details/49022443     理解dropout 注意:图片都在github上 ...

  8. SQlserver 行转列

    列转行编程中很容易碰到,小弟在此总结下, 行转列暂时还没遇到,遇到再补充. 列转行:  , , , ,  以上都是以逗号分隔,分隔符可以自定义.

  9. listView获取item的Edit内容,listView中的edit内容在滚动时自动赋值了前面的内容

    Today I am going to explain how to create a ListView with EditText and why will we need a TextWatche ...

  10. [VBS]带参数删除扩展名不是*.h、*.c、*.cpp的全部文件

    脚本使用例程CleanFolder遍历一个文件夹 1)使用CleanFolder递归遍历该文件夹下的所有子文件夹 2)如果该子文件夹的大小为0,则删除这个文件夹 3)遍历该文件夹下的所有文件,扩展名不 ...