- 相关推荐
JavaScript中常见的字符串操作函数及用法
JavaScript(简称“JS”)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,以下是小编整理的JavaScript中常见的字符串操作函数及用法,欢迎阅读。
JavaScript中常见的字符串操作函数及用法
1、字符串转换
字符串转换是最基础的要求和工作,你可以将任何类型的数据都转换为字符串,你可以用下面三种方法的任何一种:
var num= 19; // 19var myStr = num.toString(); // "19"
你同样可以这么做:
var num= 19; // 19var myStr = String(num); // "19"
或者,再简单点儿:
var num= 19; // 19var myStr = "" +num; // "19"
2、字符串分割
字符串分割,即将一个字符串分割为多个字符串,JavaScript中给我们提供了一个非常方便的函数,如:
var myStr = "I,Love,You,Do,you,love,me";var substrArray = myStr .split(",");// ["I", "Love", "You", "Do", "you", "love", "me"];var arrayLimited = myStr .split(",", 3);// ["I", "Love", "You"];
split()的第二个参数,表示返回的字符串数组的最大长度。
3、获取字符串长度
字符串长度是在开发中经常要用到的,非常简单如下:
var myStr = "I,Love,You,Do,you,love,me";var myStrLength = myStr.length; //25
4、查询子字符串
很多人都会忘记这几个JavaScript的自带的方法,或者忘记它们的具体用法,从而导致在做题的时候不得不嵌套for循环来做。
第一个函数:indexOf(),它从字符串的开头开始查找,找到返回对应坐标,找不到返回-1。如下:
var myStr = "I,Love,you,Do,you,love,me";var index = myStr.indexOf("you"); // 7 ,基于0开始,找不到返回-1
第二个函数:lastIndexOf(),它从字符串的末尾开始查找,找到返回对应坐标,找不到返回-1。如下:
var myStr = "I,Love,you,Do,you,love,me";var index = myStr.lastIndexOf("you"); // 14
以上两个函数同样接收第二个可选的参数,表示开始查找的位置。
第二个可选的参数,表示开始查找的位置。
5、字符串替换
单单查到字符串应该还不会停止,一般题目都还经常会遇到让你查到并替换为你自己的字符串,例如:
var myStr = "I,love,you,Do,you,love,me";var replacedStr = myStr.replace("love","hate");//"I,hate,you,Do,you,love,me"
默认只替换第一次查找到的,想要全局替换,需要置上正则全局标识,如:
var myStr = "I,love,you,Do,you,love,me";var replacedStr = myStr.replace(/love/g,"hate");//"I,hate,you,Do,you,hate,me"
更多的详解,可参考:/w3school/js/jsref_replace.htm
6、查找给定位置的字符或其字符编码值
想要查找给定位置的字符,你可以使用如下函数:
var myStr = "I,love,you,Do,you,love,me";var theChar = myStr.charAt(8);// "o",同样从0开始
同样,它的一个兄弟函数就是查找对应位置的字符编码值,如:
var myStr = "I,love,you,Do,you,love,me";var theChar = myStr.charCodeAt(8); //111
7、字符串连接
字符串连接操作可以简单到用一个加法运算符搞定,如:
var str1 = "I,love,you!";var str2 = "Do,you,love,me";var str = str1 + str2 + "Yes!";//"I,love,you!Do,you,love,me"
同样,JavaScript也自带了相关的函数,如:
var str1 = "I,love,you!";var str2 = "Do,you,love,me";var str = str1.concat(str2);//"I,love,you!Do,you,love,me"
其中concat()函数可以有多个参数,传递多个字符串,拼接多个字符串。
8、字符串切割和提取
有三种可以从字符串中抽取和切割的方法,如:
第一种,使用slice():
var myStr = "I,love,you,Do,you,love,me";var subStr = myStr.slice(1,5);//",lov"
第二种,使用substring():
var myStr = "I,love,you,Do,you,love,me";var subStr = myStr.substring(1,5); //",lov"
第三种,使用substr():
var myStr = "I,love,you,Do,you,love,me";var subStr = myStr.substr(1,5); //",love"
与第一种和第二种不同的是,substr()第二个参数代表截取的字符串最大长度,如上结果所示。
9、字符串大小写转换
常用的转换为大写或者小写字符串函数,如下:
var myStr = "I,love,you,Do,you,love,me";var lowCaseStr = myStr.toLowerCase();//"i,love,you,do,you,love,me";var upCaseStr = myStr.toUpperCase();//"I,LOVE,YOU,DO,YOU,LOVE,ME"
10、字符串匹配
字符串匹配可能需要你对正则表达式有一定的了解,先来看看match()函数:
var myStr = "I,love,you,Do,you,love,me";var pattern = /love/;var result = myStr.match(pattern);//["love"]console.log(result .index);//2console.log(result.input );//I,love,you,Do,you,love,me
如你所见,match()函数在字符串上调用,并且接受一个正则的参数。来看看第二个例子,使用exec()函数:
var myStr = "I,love,you,Do,you,love,me";var pattern = /love/;var result = pattern .exec(myStr);//["love"]console.log(result .index);//2console.log(result.input );//I,love,you,Do,you,love,me
简单吧,仅仅是把正则和字符串换了个位置,即exec()函数是在正则上调用,传递字符串的参数。对于上面两个方法,匹配的结果都是返回第一个匹配成功的字符串,如果匹配失败则返回null.
再来看一个类似的方法search(),如:
var myStr = "I,love,you,Do,you,love,me";var pattern = /love/;var result = myStr.search(pattern);//2
仅返回查到的匹配的下标,如果匹配失败则返回-1.
11、字符串比较
比较两个字符串,比较是规则是按照字母表顺序比较的,如:
var myStr = "chicken";var myStrTwo = "egg";var first = myStr.localeCompare(myStrTwo); // -1first = myStr.localeCompare("chicken"); // 0first = myStr.localeCompare("apple"); // 1
12、举例
最后我们来看一道前端笔试题,去哪儿网的,相信很多孩子都做到过这个题了。题目:写一个getSuffix函数,用于获得输入参数的后缀名,例如输入abcd.txt,返回txt。附上我的答案:
function getSuffix(file){ return file.slice(file.lastIndexOf(".") + 1,file.length); }
javascript函数知识归纳
abs 方法 返回一个数的绝对值。
acos 方法 返回一个数的反余弦。
anchor 方法 在对象的指定文本两端加上一个带 NAME 属性的 HTML 锚点。
asin 方法 返回一个数的反正弦。
atan 方法 返回一个数的反正切。
atan2 方法 返回从 X 轴到点(y, x)的角度(以弧度为单位)。
atEnd 方法 返回一个表明枚举算子是否处于集合结束处的 Boolean 值。
big 方法在String 对象的文本两端加入 HTML 的标识。
blink 方法 将 HTML 的标识添加到 String 对象中的文本两端。
bold 方法 将 HTML 的标识添加到String 对象中的文本两端。
ceil 方法 返回大于或等于其数值参数的最小整数。
charAt 方法 返回位于指定索引位置的字符。
charCodeAt 方法 返回指定字符的 Unicode 编码。
compile 方法 将一个正则表达式编译为内部格式。
concat 方法(Array)返回一个由两个数组合并组成的新数组。
concat 方法(String) 返回一个包含给定的两个字符串的连接的 String 对象。
cos 方法 返回一个数的余弦。
dimensions 方法 返回 VBArray 的维数。
escape 方法 对 String 对象编码,以便在所有计算机上都能阅读。
eval 方法 对 JScript 代码求值然后执行之。
exec 方法在指定字符串中执行一个匹配查找。
exp 方法 返回 e (自然对数的底) 的幂。
fixed 方法 将 HTML 的 标识添加到String 对象中的文本两端。
floor 方法 返回小于或等于其数值参数的最大整数。
fontcolor 方法 将 HTML 带 COLOR 属性的标识添加到 String 对象中的文本两端。
fontsize 方法 将 HTML 带 SIZE 属性的标识添加到 String 对象中的文本两端。
fromCharCode 方法 返回 Unicode 字符值的字符串。
getDate 方法 使用当地时间返回 Date 对象的月份日期值。
getDay 方法 使用当地时间返回 Date 对象的星期几。
getFullYear 方法 使用当地时间返回 Date 对象的年份。
getHours 方法 使用当地时间返回 Date 对象的小时值。
getItem 方法 返回位于指定位置的项。
getMilliseconds 方法 使用当地时间返回 Date 对象的毫秒值。
getMinutes 方法 使用当地时间返回 Date 对象的分钟值。
getMonth 方法 使用当地时间返回 Date 对象的月份。
getSeconds 方法 使用当地时间返回 Date 对象的秒数。
getTime 方法 返回 Date 对象中的时间。
getTimezoneOffset 方法 返回主机的时间和全球标准时间(UTC)之间的差(以分钟为单位)。
getUTCDate 方法使用全球标准时间(UTC)返回 Date 对象的日期值。
getUTCDay 方法 使用全球标准时间(UTC)返回 Date 对象的星期几。
getUTCFullYear 方法 使用全球标准时间(UTC)返回 Date 对象的年份。
getUTCHours 方法使用全球标准时间(UTC)返回Date 对象的小时数。
getUTCMilliseconds 方法 使用全球标准时间(UTC)返回Date 对象的毫秒数。
getUTCMinutes 方法 使用全球标准时间(UTC)返回 Date 对象的分钟数。
getUTCMonth 方法使用全球标准时间(UTC)返回 Date 对象的月份值。
getUTCSeconds 方法 使用全球标准时间(UTC)返回Date对象的秒数。
getVarDate 方法 返回 Date 对象中的 VT_DATE。
getYear 方法 返回 Date 对象中的年份。
indexOf 方法 返回在 String 对象中第一次出现子字符串的字符位置。
isFinite 方法 返回一个 Boolean 值,表明某个给定的数是否是有穷的。
isNaN 方法 返回一个 Boolean 值,表明某个值是否为保留值 NaN (不是一个数)。
italics 方法 将 HTML的 标识添加到 String 对象中的文本两端。
item 方法 返回集合中的当前项。
join 方法 返回一个由数组中的所有元素连接在一起的 String 对象。
lastIndexOf 方法 返回在 String 对象中子字符串最后出现的位置。
lbound 方法 返回在 VBArray 中指定维数所用的最小索引值。
link 方法 将带 HREF 属性的 HTML 锚点添加到 String 对象中的文本两端。
log 方法 返回某个数的自然对数。
match 方法使用给定的正则表达式对象对字符串进行查找,并将结果作为数组返回。
max 方法 返回给定的两个表达式中的较大者。
min 方法返回给定的两个数中的较小者。
moveFirst 方法 将集合中的当前项设置为第一项。
moveNext 方法 将当前项设置为集合中的下一项。
parse 方法 对包含日期的字符串进行分析,并返回该日期与1970年1月1日零点之间相差的毫秒数。
parseFloat 方法返回从字符串转换而来的浮点数。
parseInt 方法 返回从字符串转换而来的整数。
pow 方法 返回一个指定幂次的底表达式的值。
random 方法 返回一个 0 和 1 之间的伪随机数。
replace 方法 返回根据正则表达式进行文字替换后的字符串的拷贝。
reverse 方法 返回一个元素反序的 Array 对象。
round 方法 将一个指定的数值表达式舍入到最近的整数并将其返回。
search 方法 返回与正则表达式查找内容匹配的第一个子字符串的位置。
setDate 方法 使用当地时间设置 Date 对象的数值日期。
setFullYear 方法 使用当地时间设置 Date 对象的年份。
setHours 方法 使用当地时间设置 Date 对象的小时值。
setMilliseconds 方法 使用当地时间设置 Date 对象的毫秒值。
setMinutes 方法 使用当地时间设置 Date 对象的分钟值。
setMonth 方法 使用当地时间设置 Date 对象的月份。
setSeconds 方法 使用当地时间设置 Date 对象的秒值。
setTime 方法 设置 Date 对象的日期和时间。
setUTCDate 方法 使用全球标准时间(UTC)设置 Date 对象的数值日期。
setUTCFullYear 方法 使用全球标准时间(UTC)设置 Date 对象的年份。
setUTCHours 方法使用全球标准时间(UTC)设置 Date 对象的小时值。
setUTCMilliseconds 方法 使用全球标准时间(UTC)设置 Date 对象的毫秒值。
setUTCMinutes 方法 使用全球标准时间(UTC)设置 Date 对象的分钟值。
setUTCMonth 方法使用全球标准时间(UTC)设置 Date 对象的月份。
setUTCSeconds 方法 使用全球标准时间(UTC)设置 Date 对象的秒值。
【JavaScript中常见的字符串操作函数及用法】相关文章:
Javascript函数的定义和用法分析03-31
JavaScript中push(),join() 函数实例详解03-31
Javascript的this用法简述03-25
javascript中for/in循环以及常见的使用技巧04-02
javascript学习中的常见问题总结10-06
javascript分析运算符用法04-01
php字符串处理函数大全03-20