JavaScript FAQ(六)——字符串

 四、字符串

 

1. 字符串中的引号(Quotes in String

Q:我如何在字符串中插入引号呢?

A:字符串中的引号应该用一个反斜杠(/)引导。如此,JavaScript就会分辨出这些引号是普通字符串还是字符串的分隔符。下面是示例:

string1='It/'s five o/'clock!';
string2="<A HREF=/"index.htm/">";

或者,如果字符串中只包含有单引号,那么你可以使用双引号作为字符串的分隔符,反之亦然。下面是一个例子:

string1="It's five o'clock!";
string2='<A HREF="index.htm">';

2. 将数字转化为字符串(Converting Numbers to Strings
Q:在JavaScript中,我怎样将数字转化为字符串?

A:最简单的方法是数字变量加上一个空字符串,例如:

a = a+'' // This converts a to string
b += ''  // This converts b to string

在上面的例子中,结果字符串中保存的是十进制的数字,如果要转化为二进制、八进制或者十六进制(或其他任何进制)字符串,参加(转化其他进制 Converting to Another Base)。

 

3. 将字符串转化为数字(Converting Strings to Numbers

Q:在JavaScript中,我怎样把字符串转化为数字呢?

A:要将字符串转化为数字,可以使用JavaScript的函数parseFloat(转化为浮点数)或者parseInt(转化为整数)。

 

parseFloat语法:parseFloat('string')

 

工作方式:

parseFloat的参数必须为字符串或字符串表达式。parseFloat的返回结果是字符串内数字的十进制数(或者是字符串最开始的数字)。如果字符串不能被解析为一个十进制数,那么返回值将由于浏览器而不同(0或者NaN)。

示例(注释内是转化结果):

parseFloat('1.45kg')  // 1.45
parseFloat('77.3')    // 77.3
parseFloat('077.3')   // 77.3
parseFloat('0x77.3')  // 0
parseFloat('.3')      // 0.3
parseFloat('0.1e6')   // 100000

parseInt语法:parseInt('string' [, base])
 

工作方式:

parseInt的第一个参数必须是字符串或者字符串表达式。parseInt的返回结果是字符串包含的一个整数(或者字符串最开始的一个整数)。第二个参数(base),如果有,给出了字符串中数字的进制。参数base的值可以从2到36之间的任何一个值。

如果只有一个参数,数字的进制会通过JavaScript的一般语法来检测。以0x或-0x开头的字符串会被解析为十六进制数;以0或者-0开始的字符串会被解析为八进制数;其他都作为十进制数对待。

如果字符串参数不能被解析为一个整数,返回结果也会根据浏览器的不同而不同(0或者NaN)。

示例(行后的注释是转化结果):

parseInt('123.45')  // 123
parseInt('77')      // 77
parseInt('077',10)  // 77
parseInt('77',8)    // 63  (= 7 + 7*8)
parseInt('077')     // 63  (= 7 + 7*8)
parseInt('77',16)   // 119 (= 7 + 7*16)
parseInt('0x77')    // 119 (= 7 + 7*16)
parseInt('099')     // 0 (9 is not an octal digit)
parseInt('99',8)    // 0 or NaN, depending on the platform
parseInt('0.1e6')   // 0
parseInt('ZZ',36)   // 1295 (= 35 + 35*36)

4. 子字符串(Substrings
Q:我怎样从一个字符串中抽取一个子字符串呢?

A:要从一个字符串中抽取一个子字符串,可以使用substring方法:

 

string.substring(start, end)

 

这里:

string 是你想从其中抽取子字符串的字符串。

start 是一个数字,指定子字符串开始的字符的位置。(在start位置上的字符也会包含到子字符串中。)

end 是一个数字,指定子字符串结束的字符的位置。(在end位置上的字符不会包含到字符串中。)

注意,字符串中第一个字符的位置是0,最后一个是string.length-1。

示例:

'Hello'.substring(0,2)  // 'He'
'Hello'.substring(0,4)  // 'Hell'
'Hello'.substring(1,3)  // 'el'

5. URL-encoding

Q:我如何把一个字符串转化URL-encoding?

A:要把一个字符串转化URL编码形式以适合作为一个查询字符串传递(或者,一般来说,即作为URL的一部分),可以使用escape函数。这个函数工作原理是:数字、拉丁字母和+ - * / . _ @保持不变,其他所有字符串都被转化为%XX的转义形式,其中XX是原字符的ASCII码。例如:

escape("It's me!") // result: It%27s%20me%21

在可以识别Unicode的浏览器上(支持JavaScript1.3),函数escape会有更加复杂的动作。如果输入是Unicode字符串,将被转化为转义后的Unicode形式%uXXXX。
 

6. 反转义(unescape

Q:我如何从URL-encoding转化字符串?

A:要从URL-encoding形式转化字符串,可以使用JavaScript函数unescape(string)。这个函数的工作方式是:如果字符串包含形如%XX的转义序列,其中XX代表两个十六进制数字,每一个转义序列都会被ASCII码是XX的字符替代。因此,字符串保持不变。

(在可以识别Unicode的浏览器上,除了转义序列%XX外,函数unescape也可以处理%uXXXX形式的转义序列。)

例如:

unescape("It%27s%20me%21")   // result: "It's me!"
时间: 2024-09-21 10:46:34

JavaScript FAQ(六)——字符串的相关文章

JavaScript FAQ(四)——导航功能增强

 二.导航功能增强   1. 下拉菜单中的链接(Links in Select Menu) Q:我如何实现在下拉菜单中链接到不同的页面? A:要创建一个所示的下拉菜单:选择一个页面JavaScript FAQNumbersStringsNavigationColorsJavaScripter.net 你可以使用下面的代码: <form> <select onChange="if(this.selectedIndex!=0) self.location=this.options[

PHP如何处理JAVA过来的接口和PHP返回给Javascript的JSON字符串

如果你想处理JAVA过来的接口.在PHP里面是这样表现的: <?php $url = '此处为JAVA提供的接口URL地址'; //我们统一用的是JSON格式 $ch = curl_init(); $timeout = 5; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CUR

在JavaScript中处理字符串之fontcolor()方法的使用

  这篇文章主要介绍了在JavaScript中处理字符串之fontcolor()方法的使用,是JS入门学习中的基础知识,需要的朋友可以参考下 此方法会导致就好像它是在一个字符串被显示在指定的颜色 标记. 语法 ? 1 string.fontcolor( color ) 下面是参数的详细信息: color: 字符串表示的颜色为十六进制RGB三元或作为一个字符串 返回值: 字符串表示的颜色为十六进制RGB三元或作为一个字符串 例子: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 1

在JavaScript中处理字符串之link()方法的使用

  这篇文章主要介绍了在JavaScript中处理字符串之link()方法的使用,是JS入门学习中的基础知识,需要的朋友可以参考下 此方法创建了请求另一个URL的HTML超文本链接. 语法 ? 1 string.link( hrefname ) 下面是参数的详细信息: hrefname: 任何字符串指定HREF标记; 它应该是一个有效的URL 返回值: 返回字符串标签 例子: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <html> <head> &

JavaScript中操作字符串之localeCompare()方法的使用

  这篇文章主要介绍了JavaScript中操作字符串之localeCompare()方法的使用,是JS入门学习中的基础知识,需要的朋友可以参考下 这个方法返回一个数字表示参考字符串是否到来之前或之后或相同的排序顺序给定的字符串. 语法 ? 1 string.localeCompare( param ) 下面是参数的详细信息: param : 字符串对象进行比较的字符串 返回值: 0 : 字符串匹配100% 1 : 不匹配,参数值来自于语言环境的排序顺序字符串对象的值之前 -1 : 不匹配,参数

JavaScript生成随机字符串的方法

 这篇文章主要介绍了JavaScript生成随机字符串的方法,涉及javascript中random的使用技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了JavaScript生成随机字符串的方法.分享给大家供大家参考.具体分析如下: 这里使用JavaScript生成一个随机字符串,可以指定字符串的长度. 代码如下: function RandomString(length) { var str = ''; for ( ; str.length < length; str +=

JavaScript判断一个字符串是否包含指定子字符串的方法

 这篇文章主要介绍了JavaScript判断一个字符串是否包含指定子字符串的方法,实例分析了javascript字符串操作的技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了JavaScript判断一个字符串是否包含指定子字符串的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码,为String对象定义了一个contains方法用于判断字符串是否包含子字符串,非常有用. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 if (!Array.prototy

JavaScript实现计算字符串中出现次数最多的字符和出现的次数

 这篇文章主要介绍了JavaScript实现计算字符串中出现次数最多的字符和出现的次数,本文直接给出实现代码,需要的朋友可以参考下     "计算出字符串中出现次数最多的字符是什么,出现了多少次?" 看到这个需求,我想大多数人应该首先想到的是转换成数组,再做处理,当然是可以解决问题的,然后这里提供一个巧妙的算法设计,无需转数组,可以很快解决问题,代码如下:   代码如下: var str = "adadfdfseffserfefsefseeffffftsdg"; v

Javascript从url字符串中获取参数值

  Javascript从url字符串中获取参数值,在Ajax盛行的今天,显得特别重要了,因为ajax大部分情况下都是需要传值的,这样才能更好的实现用户交互,那么用JS获取URL字串参数,其实并不难,列举一个简单的例子,看以下函数:   function getQuery(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.

JavaScript数字和字符串转换的应用

这篇文章主要介绍了JavaScript数字和字符串转换的应用,需要的朋友可以参考下 1. 数字转换为字符串    a. 要把一个数字转换为字符串,只要给它添加一个空的字符串即可:   代码如下: var n = 100;  var n_as_string = n + "";    b. 要让数字更加显式地转换为字符串,可以使用String()函数:  代码如下: var string_value = String(number);    c. 使用toString()方法:   代码如