javascript字符串的转换
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript字符串的转换相关的知识,希望对你有一定的参考价值。
javascript怎么实现 "%3A" 与 "=" 互相转换,以上只是例子,像这一类的字符串怎么互相转换?求高手解答!
1、如果手动转的话,用replace()函数将字符替换成对应的字符。2、js中有一个专门的转16进制的编码函数:encodeURI()
网址URL中特殊字符转义编码
字符 - URL编码值
空格 - %20
" - %22
# - %23
% - %25
& - %26
( - %28
) - %29
+ - %2B
, - %2C
/ - %2F
: - %3A
; - %3B
< - %3C
= - %3D
> - %3E
? - %3F
@ - %40
\ - %5C
| - %7C
URL特殊字符转义
URL中一些字符的特殊含义,基本编码规则如下:
1、空格换成加号(+)
2、正斜杠(/)分隔目录和子目录
3、问号(?)分隔URL和查询
4、百分号(%)制定特殊字符
5、#号指定书签
6、&号分隔参数
如果需要在URL中用到,需要将这些特殊字符换成相应的十六进制的值
+ %2B
/ %2F
? %3F
% %25
# %23
& %26
由于在项目中经常要用AJAX传SQL给后台服务端
会遇到select num+1 from dual或者左右连接形式。总会丢掉(+)
这个时候可以尝试用一下URL特殊字符转义
用JS的encodeURI()函数或者直接改成相对应的十六进制的值
看网上介绍encodeURI函数也是讲URI转义
(转自另外一个问题的回答:知道搜索条目--》百度的%符号是什么意思)
由于度娘会吞链接,所以不妨链接了。 参考技术A 3*16+10=58,这个不是“=”而是“:”,等号是3D,如果真要转,那还得补差。简单,这个就是碰见%意味着被编码了,首先,将16进制转化为10进制,然后找到对应的ASCII值就可以了。 参考技术B javascript有一个很有用的函数eval("string")
这个函数可以把字符串转换为对象或者可以执行的语句,例如你的代码可以用
obj2=eval("document.a.c"+i),另外你还可以这样写eval("alert()"),
eval("a+=2"),这样你就可以让用户输入的javascript语句执行
你的docheck()如此改即可:
function docheck()
obj1=eval("document.a.a"+i)
obj2=eval("document.a.c"+i)
obj1.value=obj2.options[obj2.selectedIndex].value;
参考技术C http://www.blogjava.net/juhongtao/archive/2006/11/03/78936.html
上面有javascript编码解码的详细介绍
JavaScript类型转换
parseInt(arg):将指定的字符串,转换成整数
parseFloat(arg):将指定的字符串,转换成浮点数
Number(arg):把给定的值(任意类型)转换成数字;转换的是整个值,不是部分值。
如果该字符串不能完全转换为整性,则返回NAN(Not a Number)
String(arg):把给定的值(任意类型)转换成字符串
Boolean(arg):把给定的(任意类型)转换成布尔型
以上是关于javascript字符串的转换的主要内容,如果未能解决你的问题,请参考以下文章