JavaScript字符串常用的方法


Posted in Javascript onMarch 10, 2016

获取类:

1)动态方法:

charAt : 获取字符串指定位置上的字符。(参数:一个,指定要获取的字符位置)

1,不接受负数,如果为负数,会返回一个空字符串。

2,如果不给参数,默认是获取第0位置上的字符。

3,只接收一个参数。

charCodeAt : 获取字符串中指定位置上字符的Unicode编码(参数: 一个,指定要获取字符编码的字符位置)

1,任何字符都有一个唯一的字符编码。

2,只接收一个参数。

常用:

数字 : 48 ~ 57

下划线 : 95

空格 : 32

制表符 : 9

小写字母 :97 ~ 122

大写字母 : 65 ~ 90

2)静态方法:

fromCharCode : 根据指定的字符编码返回对应的字符。(参数: 任意多个)

1,可以接收多个参数。

2,写法是固定的(静态方法):String.fromCharCode(); //字符编码有效范围 : 0 ~ 65535 String是字符串的对象

var str = '我是字符串';
alert( str.charAt( ) ); //'' 如果本身长度只有,却找str.charAt() 找不到也是空字符串'',~str.length-是合法范围。
alert( str.charAt( ) ); //'我' 默认不写是,找到第一个字符
alert( str.charAt() ); // '字'
alert( ''.charAt( ) ); //
alert( ''.charAt(,) ); //
alert( str.charCodeAt( ) );// unicode编码
alert( ''.charCodeAt() ); // 
alert(String.fromCharCode( ,)); //'字味' 根据编码转换成字符(静态方法)多个字符用 , 隔开

查找类:

indexOf : 查找指定的子字符串在字符串中第一次出现的位置。(第一个参数,指定要查找的子字符串;第二个参数指定开始查找的位置。)

1,从前往后查找,默认从第0位置开始。

2,如果找到了,就返回第一次被查找到的位置,如果没有找到,就返回 -1。

3,如果第二个参数为负数,默认当成0来处理

lastIndexOf : 查找指定的子字符串在字符串中最后一次出现的位置。(第一个参数,指定要查找的子字符串;第二个参数指定开始查找的位置。)

1,从后往前查找,默认从第 length - 1 位置开始。

2,如果找到了,就返回第一次被查找到的位置,如果没有找到,就返回 -1。

var str = 'www.baidu.com/';
alert(str.indexOf('bai')); // 从左往右找找到一个就返回不会再往右找了
alert(str.indexOf('m',)) // 从第位开始向右找
alert(str.indexOf('X')) //- 不存在的话结果是 - 表示没找到
alert(str.lastIndexOf('ww')); //

截取类:

substring : 提取指定范围的一段子字符串。(第一个参数,指定要提取的开始位置;第二个参数,指定要提取的结束位置。)

1,提取范围包括开始位置,但是不包括结束位置。

2,可以省略第二个参数,表示从开始位置提取到字符串结束

3,在提取之前会先比较两个参数的大小,然后按从小到大的顺序调整参数位置,再提取。

4,所有的非法参数都会自动转化成0.

5,如果不给参数,默认直接返回整个字符串。

slice : 提取指定范围的一段子字符串。(第一个参数,指定要提取的开始位置;第二个参数,指定要提取的结束位置。)

1,提取范围包括开始位置,但是不包括结束位置。

2,可以省略第二个参数,表示从开始位置提取到字符串结束

3,不会比较两个参数的位置,更不会调整位置的位置

4,参数可以是正数,也可以是负数,其它所有非法参数都会转换成0。

5,负数表示从字符串的后面往前数字符位置,最一个字符的位置是 -1。

var str = '我是字符串';
alert(str.substring()); //'我是字符串'
alert(str.substring(-,)); //'我'
alert(str.substring()); //字符串
alert(str.substring(,)); //'我是' 与str.substring(,)是一样的。可以检测两个数,大的往后仍,小的往前仍。负数当成来处理。
alert(str.slice(,)); //空白 找不到,不交换位置
alert(str.slice(-)); //'符串' 负数就是从后面倒着往前数

比较类:

alert(‘我'>'你'); //true 字符串比较就比较第一个字符对应的Unicode值大小,后边的就不比较了。

其他类:

alert(str.length); //获取字符串长度

split() //把字符串切成数组

参数: 一个 指定一个分割符用来分割字符串。

1,如果不指定分割符,就不会分割,直接存入数组。

2,以分割符为依据,把分割符左右两边的值分别存入数组。

3,分割符本身不会存入数组。

4,分割符只能是字符串中存在的子字符串。

5,在split看来,两个字符之间必须依靠空字符串连接。

6,当用空字符串去分割空字符串的时候,会得到一个空数组。

var str = '';
alert( typeof str ); //string
alert( typeof str.split() ); //object
alert( str.split().length ); //['']
alert( str.split('') ); //['','']
alert( str.split('a') ); //['']
alert( str.split('') ); //['','']
alert( str.split('').length ); //['','','','']
alert( str.split('') ); //['','','','']
//'' 由五个 '' 加 四个字符组成
alert( str.split('') );//['','']
alert( str.split('') ); //['','']
alert( ''.split(' ').length ); //['']
alert( ''.split('').length ); //[]
//特例,只有这种情况下 split 才会返回空数组。

trim() : 去除字符串首尾的所有空格。(字符串中间的空格会保留)。

html5的新方法,低版本浏览器不支持。

toUpperCase() : 把字符串全部转换成大写。(没有参数)

toLowerCase() : 把字符串全部转换成小写。(没有参数)

最后,所有的字符串方法,都不会修改字符串本身。

javascript字符串连接类

在我们写前端的js时,经常会出现将很多的字符串通过“+”拼接起来,然后挂载的某个DOM元素上。然而关于使用“+”来拼接字符串,在各浏览器下解析的效果,我就在此不做对比了,网上这类的对比很多。很多牛人都说通过使用js中的Array的join方法来拼接字符串效果很不错。为此在项目中写一个js类,用来统一处理字符串的拼接。

代码

//自定义的一个字符串连接类,用于拼接字符串,比"+"要提升性能function StringBuffer()
{ 
this._strs = new Array(); 
}StringBuffer.prototype.append = function(str)
{ 
this._strs.push(str); 
};StringBuffer.prototype.arrayToString = function() 
{ 
return this._strs.join(""); 
};

而我们在使用该类时,可以直接通过如下方法:

var strBuff=new StringBuffer();strBuff.append("hello,");strBuff.append("Welcome to Javascript!");alert(strBuff.arrayToString());
Javascript 相关文章推荐
javascript语句中的CDATA标签的意义
May 09 Javascript
jQuery AjaxQueue改进步骤
Oct 06 Javascript
js 遍历对象的属性的代码
Dec 29 Javascript
js处理json以及字符串的比较等常用操作
Sep 08 Javascript
JS+CSS实现的蓝色table选项卡效果
Oct 08 Javascript
用iframe实现不刷新整个页面上传图片的实例
Nov 18 Javascript
Canvas实现动态的雪花效果
Feb 13 Javascript
Vue 实用分页paging实例代码
Apr 12 Javascript
webpack配置文件和常用配置项介绍
Apr 28 Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
Dec 26 Javascript
jQuery实现的鼠标响应缓冲动画效果示例
Feb 13 jQuery
vue3.0 项目搭建和使用流程
Mar 04 Vue.js
javascript中call apply 与 bind方法详解
Mar 10 #Javascript
angularjs表格ng-table使用备忘录
Mar 09 #Javascript
详解AngularJS控制器的使用
Mar 09 #Javascript
JQuery Mobile实现导航栏和页脚
Mar 09 #Javascript
javascript基本算法汇总
Mar 09 #Javascript
javascript时间排序算法实现活动秒杀倒计时效果
Jan 28 #Javascript
javascript获取wx.config内部字段解决微信分享
Mar 09 #Javascript
You might like
CodeIgniter安全相关设置汇总
2014/07/03 PHP
Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
2016/03/21 PHP
深入浅析PHP无限极分类的案例教程
2016/05/09 PHP
Apache无法自动跳转却显示目录的解决方法
2020/11/30 PHP
PHP简单字符串过滤方法示例
2016/09/04 PHP
Raphael一个用于在网页中绘制矢量图形的Javascript库
2013/01/08 Javascript
extjs 3.31 TreeGrid实现静态页面加载json到TreeGrid里面
2013/04/02 Javascript
js onload事件不起作用示例分析
2013/10/09 Javascript
js实现字符串的16进制编码不加密
2014/04/25 Javascript
JS来动态的修改url实现对url的增删查改
2014/09/05 Javascript
谷歌浏览器调试JavaScript小技巧
2014/12/29 Javascript
jQuery中nextAll()方法用法实例
2015/01/07 Javascript
星期几的不同脚本写法(推荐)
2016/06/01 Javascript
深入解析js轮播插件核心代码的实现过程
2017/04/14 Javascript
微信小程序 标签传入数据
2017/05/08 Javascript
node.js中fs.stat与fs.fstat的区别详解
2017/06/01 Javascript
Angularjs 双向绑定时字符串的转换成数字类型的问题
2017/06/12 Javascript
jquery ajax异步提交表单数据的方法
2017/10/27 jQuery
微信小程序实现全国机场索引列表
2018/01/31 Javascript
vue实现打印功能的两种方法
2018/09/07 Javascript
node解析修改nginx配置文件操作实例分析
2019/11/06 Javascript
解决微信小程序scroll-view组件无横向滚动的问题
2020/02/04 Javascript
[01:38]女王驾到——至宝魔廷新尊技能&特效展示
2020/06/16 DOTA
Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
2014/06/04 Python
Python切片工具pillow用法示例
2018/03/30 Python
python实现简单tftp(基于udp协议)
2018/07/30 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
2020/10/22 Python
python hmac模块验证客户端的合法性
2020/11/07 Python
通过python-pptx模块操作ppt文件的方法
2020/12/26 Python
浅谈Html5页面打开app的一些思考
2020/03/30 HTML / CSS
英国领先的运动物理治疗供应公司:Vivomed
2018/07/14 全球购物
小学一年级学生评语
2014/04/22 职场文书
不遵守课堂纪律的检讨书
2014/09/24 职场文书
员工升职自荐信
2015/03/27 职场文书
高三毕业感言
2015/07/30 职场文书
2019销售早会主持词
2019/06/27 职场文书