String方法

String方法

1、 string.charAt()

方法String.charAt()返回字符串string中的第n个字符。字符串中第一个字符的下标值是0。如果参数n不在0和string.length-1之间,该方法将返回一个空字符串。注意,JavaScript并没有一种有异于字符串类型的字符数据类型,所以返回的字符是长度为1的字符串。

返回值是字符串string的第n个字符。

试一试:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" type="text/css" href="../css/"/>

</head>
<body>


<script type="text/javascript">
    var str = "abcdefgh";
    alert(str.charAt(3))
</script>
</body>
</html>  //返回值是“d”

2、String.charCodeAt( )

方法charCodeAt()与charAt()执行的操作相似,只不过前者返回的是位于指定位置的字符的编码,而后者返回的则是含有字符本身的子串。如果n是负数,或者大于等于字符串的长度,则charCodeAt()返回NaN。

返回值是string中的第n个字符的Unicode编码。这个返回值是0~65535之间的16位整数。

试一试:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" type="text/css" href="../css/"/>

</head>
<body>


<script type="text/javascript">
    var str = "abcdefgh";
    alert(str.charCodeAt(3))
</script>
</body>
</html> 
//返回值是100;

3、String.indexOf( )

方法string.indexOf()将从头到尾的检索字符串string,看它是否含有子串 substring。开始检索的位置在字符串string的start处或string的开头(没有 指定start参数时)。如果找到了一个substring那么String.indexOf()将返回 substring的第一个字符在string中的位置。string中的字符位置是从0开始的。 如果在string中没有找到substring,那么String.indexOf()方法将返回-1。

返回值是如果在string中的start位置之后存在substring返回出现的第一个substring 的位置。如果没有找到子串substring返回-1。

试一试:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" type="text/css" href="../css/"/>

</head>
<body>


<script type="text/javascript">
    var str = "abcdefgh";
    alert(str.indexOf("defg",3))
</script>
</body>
</html>
//返回值是3;

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" type="text/css" href="../css/"/>

</head>
<body>


<script type="text/javascript">
    var str = "abcdefgh";
    alert(str.indexOf("defg",4))
</script>
</body>
</html>
//返回值是-1  

4、String.lastIndexOf( )

方法String.1astIndexOf()将从尾到头的检索字符串string看它是否含有子串 substring。开始检索的位置在字符串string的start处或string的结尾(没有 指定start参数时)。如果找到了一个substring,那么String.lastIndexOf()将返回substring的第一个字符在string中的位置。由于是从尾到头的检索一个字符串,所以找到的第一个substrlng其实是strlng中出现在位置start之前的最后一个substring。 如果在string中没有找到substring,那么该方法将返回-1。 注意,虽然String.1astIndexOf()是从尾到头的检索字符串string,但是它返回的字符位置仍然是从头开始计算的。字符串中第一个字符的位置是0,最后—个字符的位置是string.1ength-1。

返回值是如果在string中的start位置之前存在substring那么返回的就是出现的最后一个substring的位置。如果没有找到子串substring那么返回的是-1。

试一试:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" type="text/css" href="../css/"/>

</head>
<body>


<script type="text/javascript">
    var str = "abcdefgh";
    alert(str.lastIndexOf("defg",3))
</script>
</body>
</html>
//返回值是3;

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" type="text/css" href="../css/"/>

</head>
<body>


<script type="text/javascript">
    var str = "abcdefgh";
    alert(str.lastIndexOf("defg",2))
</script>
</body>
</html>
//返回值是-1  

5、String.replace( )

字符串string的方法replace()执行的是查找并替换的操作。它将在string中查找与regexp相匹配的子串,然后用replacement替换这些子串。如果regexp具有全局性质g,那么replace()将替换所有的匹配子串。否则,它只替换第一个匹配子串。 replacement可能是字符串或函数。如果它是一个字符串,那么每个匹配都将由字符 串替换。但replacement中的$字符具有特殊的含义。如下表所示,它说明从模式匹配得到的字符串将用于替换。 **Characters Replacement
$1, $2, ... $99 与regexp中的第1到第99个子表达式相匹配的文本 
$& 与regexp相匹配的子串
$` 位于匹配子串左侧的文本
$' 位于匹配子串右侧的文本
$$ 直接量$符号 **
ECMAScript v3规定,replace()方法的参数replacement可以是函数而不是字符串,JavaScipt 1.2和JScript 5.5实现了这一特性。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字 符串。接下来的参数是与模式中的子表达式匹配的字符串,可以有0个或多个这样的参数。接下来参数是一个整数,声明了匹配在string中出现的位置。最后一个参数是string自身。

返回值是一个新字符串,是用replacemenc替换了与regexp的第一次匹配或所有匹配之后得到的。

试一试:

//要确保单词“JavaScript'’中的大写字符是正确的,可用下列代码:  
text.replace(/javascript/i, "JavaScript"); 


//要将名字“Doe,John”转换成“JohnDoe”的形式,可用下列代码: 
name.replace(/(w+)s*,s*(w+)/, "$2 $1"); 


//用花引号替换直引号,可用下列代码:
text.replace(/"([^"]*)"/g, "``$1''"); 


//使字符串中所有单词的第一个字母都是大写的,可用下列代码:
text.replace(/w+/g, function(word) {   
                           return word.substring(0,1).toUpperCase(  ) +
                                      word.substring(1);    
                         });   

6、String.toLocaleLowerCase( )

string的一个副本,按照本地方式转换成小写字母。

试一试:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" type="text/css" href="../css/"/>

</head>
<body>


<script type="text/javascript">
    var str = "ABCDEFGH";
    alert(str.toLocaleLowerCase())
</script>
</body>
</html>  

7、String.toLocaleUpperCase( )

string的一个副本,按照本地方式转换成了大写字母。只有几种语言(如土耳其语) 具有地方特有的大小写映射,所以该方法的返回值通常与toUpperCase()一样。

试一试:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" type="text/css" href="../css/"/>

</head>
<body>


<script type="text/javascript">
    var str = "abcdefgh";
    alert(str.toLocaleUpperCase())
</script>
</body>
</html>
原文地址:https://www.cnblogs.com/haonantong/p/4681162.html