JavaScript:string

对于JavaScript中的字符串,记住一句话:“字符串创建后不可修改”!

一、字符串创建后不可修改

var s = 'abcd';
s[1]='e';
console.log(s[1]);    //'b'
console.log(s);       //'abcd'

二、常用方法

JavaScript 的字符串是不可变的(immutable),String 类定义的方法都不能改变字符串的内容,返回的是全新的字符串,而不是修改原始字符串。


名称


作用


示例


charAt()


返回在指定位置的字符。


示例:‘abc‘.charAt(1);     //"b"


charCodeAt()


返回在指定的位置的字符的 Unicode 编码。


示例:‘abc‘.charCodeAt(1);     //98


indexOf(searchvalue,fromindex)


检索字符串,返回对应下标。


示例:‘abcabc‘.indexOf(‘b‘,0);     //1

‘abcabc‘.indexOf(‘b‘,2);     //4


search(regexp)


检索与正则表达式相匹配的值,返回对应下标。


示例:‘abcabc‘.search(‘b‘);          //1

‘abcabc‘.search(/b/img);     //1


match(regexp)


找到一个或多个正则表达式的匹配,没有返回null,否则返回数组


示例:‘abcabc‘.match(‘b‘);          //["b"]

‘abcabc‘.match(/b/img);     //["b", "b"]


PS:上述regexp,可以是子串、也可以是正则。


fromCharCode()


从字符编码创建一个字符串。


示例:String.fromCharCode(65,66,67);     //"ABC"


concat()


连接字符串。


示例:‘abc‘.concat(‘def‘,‘ghi‘);;     //"abcdefghi"


substr()


从起始索引号提取字符串中指定数目的字符。


示例:‘abcef‘.substr(1,2);     //"bc"


substring()


提取字符串中两个指定的索引号之间的字符。


示例:‘abcef‘.substring(1,2);     //"b"


localeCompare()


用本地特定的顺序来比较两个字符串。


示例:‘123‘.localeCompare(‘123‘);     //0

‘123‘.localeCompare(‘456‘);     //-1

‘456‘.localeCompare(‘123‘);     //1

function sort(a,b){return a.localeCompare(b);}

PS:把 < 和 > 运算符应用到字符串时,它们只用字符的 Unicode 编码比较字符串,而不考虑当地的排序规则。以这种方法生成的顺序不一定是正确的。例如,在西班牙语中,其中字符 “ch” 通常作为出现在字母 “c” 和 “d” 之间的字符来排序。


replace(regexp/substr,replacement)


替换与正则表达式匹配的子串。


示例:‘abcabc‘.replace(‘a‘,‘d‘);     //"dbcabc"

‘abcabc‘.replace(/a/g,‘d‘);     //"dbcdbc"


slice(start,end)


提取字符串的片断,并在新的字符串中返回被提取的部分。


示例:‘abcabc‘.slice(1,2);     //"b"


split()


把字符串分割为字符串数组。


示例:‘abc‘.split(‘‘);     //["a", "b", "c"]


toLocaleLowerCase()


把字符串转换为小写。


示例:‘ABC‘.toLocaleLowerCase();     //"abc"


toLocaleUpperCase()


把字符串转换为大写。


示例:‘abc‘.toLocaleUpperCase();     //"ABC"


toLowerCase(


把字符串转换为小写。


示例:‘ABC‘.toLowerCase();     //"abc"


toUpperCase()


把字符串转换为大写。


示例:‘abc‘.toUpperCase();     //"ABC"


PS:toLocaleLowerCase、toLocaleUpperCase只有几种语言(如土耳其语)具有地方特有的大小写映射,所有该方法的返回值通常与 toLowerCase()、toUpperCase() 一样。


toString()


返回字符串。


valueOf()


返回某个字符串对象的原始值。


PS:valueOf() 方法通常由JavaScript在后台自动进行调用,而不是显式地处于代码中。

三、正则

/pattern/attributes

i    执行对大小写不敏感的匹配。

m    执行多行匹配。

g    执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。

时间: 2024-08-09 22:00:48

JavaScript:string的相关文章

javascript篇:javascript对象——String

创建String: var str = new String(s); var str = String(s); var str = "hello"; String对象的属性: length:字符串的长度 constructor prototype String对象的方法: anchor(anchorName)为文本添加一个锚,即<a name=anchorName>str</a> blink()显示闪动的字符串.用chrome测试没效果... bold()使用锄

javascript内置对象一:String

<script>    //string.split("-"),以字符"-"把string拆分成一个数组.返回一个数组    //array.join("-"),以字符"-"把数组array链接成一个字符串.    var str="welcome-to-school";    console.log(str.split("-"));//Array(3) [ "we

JavaScript中String对象的match()、replace() 配合正则表达式使用

正则表达式由来已久,查找替换功能非常强大,但模板难记复杂. JavaScript中String对象的match().replace()这2个方法都要使用正则表达式的模板.当模板内容与字符串不相匹配时,match()返回null,replace()返回原字符串. 正则表达式的模板对象 //标准写法 regexp = new RegExp(pattern[, flag]); pattern: 模板的用法是关键,也是本章的主要内容. flag: "i"(ignore)."g&quo

javascript 之string.format

function(){ 'use strict'; if(String.prototype.format) return; String.prototype.format = function(args){ var _dict = typeof(args) == 'object' ? args : arguments; return this.replace(/{([^{}]+)}/g,function(s,n){ return _dict[n]===undefined?s:_dict[n];

Javascript中String对象的常用方法

charAt(): 返回在指定位置的字符. charCodeAt(): 返回在指定的位置的字符的 Unicode 编码. var s = "Smile forever!"; s.charAt(2); //i s.charCodeAt(2); //105 concat(): 连接字符串,参数可以是多个字符串. var s1 = "Smile forever!"; var s2 = "extend"; s1.concat(s2); //Smile f

javascript 之String

1 String.prototype.format = function(args){ 2 var _dict = typeof(args)=='object'?args:arguments; 3 return this.replace(/\{([^{}]+)\}/g,function(s,k){ 4 return (_dict[k]==undefined)?s:_dict[k]; 5 }); 6 }; string.replace(regexp, replacement) 参数: regexp

JavaScript 编程珠玑 - 《JavaScript: The good parts》总结(2)

一.扩展函数原型的更好办法: // 定义下面的通用方法 Function.prototype.method = function (name, func) {     this.prototype[name] = func;     return this; }; // 使用上面的通用方法作为工具进行扩展,以免每次扩展都访问Function.prototype.XXX (that's ugly). Number.method('integer', function() {     return 

Javascript Query String Parsing

1. URL encoding 为什么要进行URL encoding?这是因为,有些字符是不能成为URL一部分的,举个例子,比如空格符.另外,有些有特殊含义的保留字符,比如#,作为HTML锚点,用于定位到HTML文档的某个位置上:=符号在URL里用于分割URL参数的key和value. URL encoding依据以下规则: 字母(A–Z 以及 a–z),数字(0-9)以及'.','-','~'和'_'这些字符不进行编码 空格符要编码成+或者"%20" 所有其他的字符,要被编码成%HH

JavaScript中String对象处理HTML标记中文本的方法

big():创建一个<big></big>标记,将这个字符串的字体变大blink():创建一个<blink></blink>标记,使字符串具有闪烁效果bold():创建一个<bold></bold>标记,使字符串加粗显示fixed():创建一个<tt></tt>标记,使字符串固定倾斜显示italics():创建一个<i></i>标记,使字符串以斜体显示small():创建一个<sm