一、String对象属性

  1、length属性:

    length算是字符串中非常常用的一个属性了,它的功能是获取字符串的长度。当然需要注意的是js中的中文每个汉字也只代表一个字符,这里可能跟其他语言有些不一样。

var str = 'abc';
console.log(str.length); //

  2、prototype属性:

    prototype在面向对象编程中会经常用到,用来给对象添加属性或方法,并且添加的方法或属性在所有的实例上共享。因此也常用来扩展js内置对象,如下面的代码给字符串添加了一个去除两边空格的方法。

String.prototype.trim = function(){
return this.replace(/^\s*|\s*$/g, '');
}

二、String对象方法

  1、获取类方法:

    (1) charAt():
stringObject.charAt(index)

      charAt()方法可用来获取指定位置的字符串,index为字符串索引值,从0开始到string.leng – 1,若不在这个范围将返回一个空字符串。如:

var str = 'abcde';
console.log(str.charAt(2)); //返回c
console.log(str.charAt(8)); //返回空字符串
    (2) charCodeAt():
stringObject.charCodeAt(index)

      charCodeAt()方法可返回指定位置的字符的Unicode编码。charCodeAt()方法与charAt()方法类似,都需要传入一个索引值作为参数,区别是前者返回指定位置的字符的编码,而后者返回的是字符子串。

var str = 'abcde';
console.log(str.charCodeAt(0)); //返回97 
    (3) fromCharCode():
String.fromCharCode(numX,numX,…,numX) 

      fromCharCode()可接受一个或多个Unicode值,然后返回一个字符串。另外该方法是String 的静态方法,字符串中的每个字符都由单独的数字Unicode编码指定。

String.fromCharCode(97, 98, 99, 100, 101);   //返回abcde

  2.查找类方法

    (1) indexOf():
stringObject.indexOf(searchvalue,fromindex)

      indexOf()用来检索指定的字符串值在字符串中首次出现的位置。它可以接收两个参数,searchvalue表示要查找的子字符串,fromindex表示查找的开始位置,省略的话则从开始位置进行检索。

var str = 'abcdeabcde';
console.log(str.indexOf('a')); // 返回0
console.log(str.indexOf('a', 3)); // 返回5
console.log(str.indexOf('bc')); // 返回1
    (2) lastIndexOf()方法:
stringObject.lastIndexOf(searchvalue,fromindex)

      lastIndexOf()语法与indexOf()类似,它返回的是一个指定的子字符串值最后出现的位置,其检索顺序是从后向前。

var str = 'abcdeabcde';
console.log(str.lastIndexOf('a')); // 返回5
console.log(str.lastIndexOf('a', 3)); // 返回0 从第索引3的位置往前检索
console.log(str.lastIndexOf('bc')); // 返回6
    (3) search()方法:
stringObject.search(substr)
stringObject.search(regexp)     

      search()方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。它会返回第一个匹配的子字符串的起始位置,如果没有匹配的,则返回-1。

var str = 'abcDEF';
console.log(str.search('c')); //返回2
console.log(str.search('d')); //返回-1
console.log(str.search(/d/i)); //返回3
    (4) match()方法:
stringObject.match(substr)
stringObject.match(regexp)

      match()方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。

      

      如果参数中传入的是子字符串或是没有进行全局匹配的正则表达式,那么match()方法会从开始位置执行一次匹配,如果没有匹配到结果,则返回null。否则则会返回一个数组,该数组的第0个元素存放的是匹配文本,除此之外,返回的数组还含有两个对象属性index和input,分别表示匹配文本的起始字符索引和stringObject 的引用(即原字符串)。

var str = '1a2b3c4d5e';
console.log(str.match('h')); //返回null
console.log(str.match('b')); //返回["b", index: 3, input: "1a2b3c4d5e"]
console.log(str.match(/b/)); //返回["b", index: 3, input: "1a2b3c4d5e"]      

      如果参数传入的是具有全局匹配的正则表达式,那么match()从开始位置进行多次匹配,直到最后。如果没有匹配到结果,则返回null。否则则会返回一个数组,数组中存放所有符合要求的子字符串,并且没有index和input属性。

var str = '1a2b3c4d5e';
console.log(str.match(/h/g)); //返回null
console.log(str.match(/\d/g)); //返回["1", "2", "3", "4", "5"]

  3.截取类方法

    (1) substring():
stringObject.substring(start,end)      

      substring()是最常用到的字符串截取方法,它可以接收两个参数(参数不能为负值),分别是要截取的开始位置和结束位置,它将返回一个新的字符串,其内容是从start处到end-1处的所有字符。若结束参数(end)省略,则表示从start位置一直截取到最后。

var str = 'abcdefg';
console.log(str.substring(1, 4)); //返回bcd
console.log(str.substring(1)); //返回bcdefg
console.log(str.substring(-1)); //返回abcdefg,传入负值时会视为0
    (2) slice():
stringObject.slice(start,end)      

      slice()方法与substring()方法非常类似,它传入的两个参数也分别对应着开始位置和结束位置。而区别在于,slice()中的参数可以为负值,如果参数是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符。

var str = 'abcdefg';
console.log(str.slice(1, 4)); //返回bcd
console.log(str.slice(-3, -1)); //返回ef
console.log(str.slice(1, -1)); //返回bcdef
console.log(str.slice(-1, -3)); //返回空字符串,若传入的参数有问题,则返回空
    (3) substr():
stringObject.substr(start,length)      

      substr()方法可在字符串中抽取从start下标开始的指定数目的字符。其返回值为一个字符串,包含从 stringObject的start(包括start所指的字符)处开始的length个字符。如果没有指定 length,那么返回的字符串包含从start到stringObject的结尾的字符。另外如果start为负数,则表示从字符串尾部开始算起。

var str = 'abcdefg';
console.log(str.substr(1, 3)) //返回bcd
console.log(str.substr(2)) //返回cdefg
console.log(str.substr(-2, 4)) //返回fg,目标长度较大的话,以实际截取的长度为准

  4.其他方法

    (1) replace()方法:
stringObject.replace(regexp/substr,replacement) 

      replace()方法用来进行字符串替换操作,它可以接收两个参数,前者为被替换的子字符串(可以是正则),后者为用来替换的文本。

      如果第一个参数传入的是子字符串或是没有进行全局匹配的正则表达式,那么replace()方法将只进行一次替换(即替换最前面的),返回经过一次替换后的结果字符串。

var str = 'abcdeabcde';
console.log(str.replace('a', 'A')); // Abcdeabcde
console.log(str.replace(/a/, 'A')); // Abcdeabcde   

      如果第一个参数传入的全局匹配的正则表达式,那么replace()将会对符合条件的子字符串进行多次替换,最后返回经过多次替换的结果字符串。

var str = 'abcdeabcdeABCDE';
console.log(str.replace(/a/g, 'A')); // AbcdeAbcdeABCDE
console.log(str.replace(/a/gi, '$')); // $bcde$bcde$BCDE
    (2) split()方法:
stringObject.split(separator,howmany)

      split()方法用于把一个字符串分割成字符串数组。第一个参数separator表示分割位置(参考符),第二个参数howmany表示返回数组的允许最大长度(一般情况下不设置)。

var str = 'a|b|c|d|e';
console.log(str.split('|')); // ["a", "b", "c", "d", "e"]
console.log(str.split('|', 3)); // ["a", "b", "c"]
console.log(str.split('')); // ["a", "|", "b", "|", "c", "|", "d", "|", "e"]     

      也可以用正则来进行分割

var str = 'a1b2c3d4e';
console.log(str.split(/\d/)); // ["a", "b", "c", "d", "e"]
    (3) toLowerCase()和toUpperCase():
stringObject.toLowerCase()
stringObject.toUpperCase()

      toLowerCase()方法可以把字符串中的大写字母转换为小写,toUpperCase()方法可以把字符串中的小写字母转换为大写。

var str = 'JavaScript';
console.log(str.toLowerCase()); // javascript
console.log(str.toUpperCase()); // JAVASCRIPT
    (4)trim():
stringObject.trim()

      trim()方法是去除字符串前后两端的空格,但不能去掉字符串内部的空格。

var str = '  aa b  ';
console.log(str.trim()); // 'aa b'
    (5)concat():
stringObject.concat(stringX,stringX,...,stringX)

      concat() 方法将把它的所有参数转换成字符串,然后按顺序连接到字符串 stringObject 的尾部,并返回连接后的字符串。请注意,stringObject 本身并没有被更改。

var str1="Hello ";
var str2="world!";
console.log(str1.concat(str2)); // Hello world!

      提示:请注意,使用 " + " 运算符来进行字符串的连接运算通常会更简便一些。

    (6)sub():
stringObject.sub()

      sub() 方法用于把字符串显示为下标。

var str="Hello world!";
console.log("<p>Subscript: " + str.sub() + "</p>"); // Subscript: Hello World!
    (7)sup():
stringObject.sup()

      sup() 方法用于把字符串显示为上标。

var str="Hello world!";
console.log("<p>Supscript: " + str.sup() + "</p>"); // Supscript: Hello world!

JQuery字符串的操作的更多相关文章

  1. JQUERY选择和操作DOM元素(利用正则表达式的方法匹配字符串中的一部分)

    JQUERY选择和操作DOM元素(利用正则表达式的方法匹配字符串中的一部分) 1.匹配属性的开头 $("[attributeName^='value']"); 2.匹配属性的结尾 ...

  2. jquery字符串操作

    目的:把自己常用到的jquery操作字符串总结一下 w3cSchool关于js字符串的整理:有需要的时候可以查 http://www.w3school.com.cn/js/jsref_obj_stri ...

  3. 解密jQuery内核 DOM操作的核心函数domManip

    domManip是什么 dom即Dom元素,Manip是Manipulate的缩写,连在一起就是Dom操作的意思. .domManip()是jQuery DOM操作的核心函数 对封装的节点操作做了参数 ...

  4. 解密jQuery内核 DOM操作的核心buildFragment

    文档碎片是什么 http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-B63ED1A3 DocumentFragment is a & ...

  5. 解密jQuery内核 DOM操作

    jQuery针对DOM操作的插入的方法有大概10种 append.prepend.before.after.replaceWith appendTo.prependTo.insertBefore.in ...

  6. js,jQuery数组常用操作小结

    一.js中数组常用操作小结 (1) shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift() ...

  7. 【JAVAWEB学习笔记】28_jqueryAjax:json数据结构、jquery的ajax操作和表单校验插件

    Ajax-jqueryAjax 今天内容: 1.json数据结构(重点) 2.jquery的ajax操作(重点) 3.jquery的插件使用   一.json数据结构 1.什么是json JSON(J ...

  8. jQuery文档操作

    jQuery文档操作 1.jq文档结构 var $sup = $('.sup'); $sup.children(); // sup所有的子级们 $sup.parent(); // sup的父级(一个, ...

  9. python 全栈开发,Day54(jQuery的属性操作,使用jQuery操作input的value值,jQuery的文档操作)

    昨日内容回顾 jQuery 宗旨:write less do more 就是js的库,它是javascript的基础上封装的一个框架 在前端中,一个js文件就是一个模块 一.用法: 1.引入包 2.入 ...

随机推荐

  1. python核心类库:urllib使用详解

    python版本:2.7.15 1.简单用法urllib.urlopen() 语法:urllib.urlopen(url[, data[, proxies]]) :打开一个url的方法,返回一个文件对 ...

  2. 比较字典推导式/dict()/通过键来构造的字典的速率 笔记

    # 下面结果执行一次不容易出差距,所以都执行100000次 import time dict1 = {'a':1, 'b':2, 'c':3, 'd':4} # 第一种:字典推导式 start_tim ...

  3. ajaxFileupload 多文件上传

    ajaxFileupload 多文件上传 修改前的代码: var oldElement = jQuery('#' + fileElementId); var newElement = jQuery(o ...

  4. MVC4.0,并完美结合Razor引擎

    本文主要解决“当前上下文不存在ViewBag”的问题, 在View视图实际使用过程中,如果引用不正确会提示“当前上下文不存在ViewBag”,首先需要引入“Microsoft.CSharp”类库 然后 ...

  5. Nuke的色彩匹配节点思路

    大致思路是首先利用node.sample()自带采样功能对整个画面逐像素采 样,我把采样函数写的比较灵活,可以定义一个采样族,即把整个画面分成若干块,逐块采样,很大程度上减少了采样工作量,但相对精度会 ...

  6. Python Selenium set Chrome Preference Download Location.

    def set_chrome_pref(self): chromeOptions = webdriver.ChromeOptions() prefs = {"download.default ...

  7. NPOI导出Excel2007板

    Excel2003有最大行限制相信大家在日常导出时都不会考虑再使用Excel2003,其实NPOI是一个听简单又好用的多里office组件的导出插件. 为了便于以后使用记录一下 第一步下载NPOI插件 ...

  8. 服务注册发现consul之四: 分布式锁之四:基于Consul的KV存储和分布式信号量实现分布式锁

    一.基于key/value实现 我们在构建分布式系统的时候,经常需要控制对共享资源的互斥访问.这个时候我们就涉及到分布式锁(也称为全局锁)的实现,基于目前的各种工具,我们已经有了大量的实现方式,比如: ...

  9. BOF、EOF 属性

    BOF.EOF 属性 BOF 指示当前记录位置位于 Recordset 对象的第一个记录之前. EOF 指示当前记录位置位于 Recordset 对象的最后一个记录之后. 返回值 BOF 和 EOF  ...

  10. html标签SEO规范

    原文地址:http://blog.sina.com.cn/s/blog_6c3898dd0100whr7.html 1.<!--页面注解--> 2.<html> 3.<h ...