Javascript 中文字符串处理额外注意事项
var strSex="男" ;
在GB2312编码中,假设有另一变量strAxSex是从ActiveX控件中读出的BSTR值,原始值也是"男" ,这时做在javascript程序中做比较:strSex==strAxSex为false,也就是"男"!="男"。
但如果从VS2005调试中看表达式 strSex==strAxSex则为true,细看strSex.charCodeAt(0)与strAxSex.charCodeAt(0)也是相等的,而strSex.charCodeAt(0)与strAxSex.charCodeAt(0)也相等都为NaN。
再注意看vs2005变量值提示,可以看到strSex="□□“。原来是字符常量非unicode,导致strSex所赋值不同于"男"的unicode值。尝试把js文件另存为编码utf-8,再次运行,终于 strSex==strAxSex为true,程序运行与调试器表现一致,和日常逻辑也一致了。
相关推荐
-
JS字符串长度判断,超出进行自动截取的实例(支持中文)
今天一个小弟问我的问题,在文本框中输入字符,如果超出指定长度,就把它截取,要求中文等于两个字符的长度,我找一下资料,把这个功能实现了, 下面是JS代码: <html> <script src="http://jb51.net/script/jquery.js" type="text/javascript"></script> <body> <input type="text" name=&qu
-
JavaScript过滤字符串中的中文与空格方法汇总
js 如何过滤字符串里中文或空格呢?方法有很多种,我们可以使用替换与正则表达式来实现,本文向大家介绍两个简单的例子,感兴趣的朋友可以参考一下. 1.javascript过滤空格: function moveSpace() { var str = " abc defg"; alert(str.replace(/[ ]/g, "")); } moveSpace(); 2.javascript过滤中文: var title ="字符串zifuchuan"
-
js substr支持中文截取函数代码(中文是双字节)
复制代码 代码如下: <script language="JavaScript"> //得到字符总数function getChars(str) { var i = 0; var c = 0.0; var unicode = 0; var len = 0; if (str == null || str == "") { return 0; } len = str.length; for(i = 0; i < len; i++) { unico
-
中文字符串截取的js函数代码
为了解决这个问题昨天写了根据字节数截取字符串的函数.具体使用很简单,跟String.subString(start, end)一样使用就可.比如:var str = "诶必塞第衣爱抚即"; var str1 = str.subCHStr(2, 2); var str2 = str.subCHString(2, 4); alert(str1 + " == " + str2); 复制代码 代码如下: Code//计算字符串长度String.prototype.strLe
-
用javascript实现截取字符串包含中文处理的函数
1.substring 方法 定义和用法 substring 方法用于提取字符串中介于两个指定下标之间的字符. 语法 stringObject.substring(start,stop) 参数 描述 start 必需.一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置. stop 可选.一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1.如果省略该参数,那么返回的子串会一直到字符串的结尾. 返回值 一个新的字符串,该字符串值包
-
JS判断字符串长度的5个方法(区分中文和英文)
目的:计算字符串长度(英文占1个字符,中文汉字占2个字符) 方法一: 复制代码 代码如下: String.prototype.gblen = function() { var len = 0; for (var i=0; i<this.length; i++) { if (this.charCodeAt(i)>127 || this.charCodeAt(i)==94) { len += 2; } else { len ++;
-
JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
本文实例讲述了JS实现对中文字符串进行utf-8的Base64编码的方法.分享给大家供大家参考,具体如下: 要进行编码的字符串:"select 用户名 from 用户" 使用JAVA进行编码,Java程序: String sql = "select 用户名 from 用户"; String encodeStr = new String(Base64.encode(sql.getBytes("UTF-8"))); // 编码 System.out.
-
JS实现含有中文字符串的友好截取功能分析
本文实例讲述了JS实现含有中文字符串的友好截取功能.分享给大家供大家参考,具体如下: 在显示字符串的时候,避免字符串过长往往会对字符串进行截取操作,通常会用到js 的 substr 或者 substring方法, 以及 字符串的length属性 对于非中文的字符串处理是很简单的,但是中文字符的 length 属性值 是1 而不是 2 ,所以处理就不是很友好了. 例如 你有一个字符串 1234567890 和 一二三四五六七八九零, 你只想显示五位长度,往往会这样操作 str =
-
教你如何使用PHP输出中文JSON字符串
复制代码 代码如下: json_endoce: http://cn.php.net/json_encodejson_dedoce: http://cn.php.net/json_decode json_encode - 对变量进行 JSON 编码,并返回 value 值的 JSON 形式,例如: 复制代码 代码如下: <?php$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);echo json_encode($arr)
-
js计算字符串长度包含的中文是utf8格式
方法一: 复制代码 代码如下: function byteLength(str) { var byteLen = 0, len = str.length; if( !str ) return 0; for( var i=0; i<len; i++ ) byteLen += str.charCodeAt(i) > 255 ? 2 : 1; return byteLen;} 说明:byteLength(str)参数:string str: 要计算字节长度的字符串(非ASCII的字符算2字节) 方
随机推荐
- AngularJs Using $location详解及示例代码
- 不使用浏览器运行javascript代码的方法
- ASP.NET MVC5网站开发我的咨询列表及添加咨询(十二)
- PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
- Android checkbox的listView具体操作方法
- smarty中先strip_tags过滤html标签后truncate截取文章运用
- Android Volley图片加载功能详解
- Javascript中字符串replace方法的第二个参数探究
- swfupload 多文件上传实现代码
- 在Linux下用scp复制文件无需输入密码的技巧
- 浅谈sqlserver的负载均衡问题
- jQuery Mobile页面返回不需要重新get
- Save a File Using a File Save Dialog Box
- sql注入建立虚拟目录
- MSIE DHTML Edit跨站脚本漏洞
- JS中使用sort结合localeCompare实现中文排序实例
- 我的论坛源代码(十)
- PHP网页游戏学习之Xnova(ogame)源码解读(十二)
- PHP使用xmllint命令处理xml与html的方法
- Android支付宝支付封装代码