javasript处理字符串问题集

原创 2007年09月18日 15:26:00

1带中文的字符串的长度问题

http://nio.infor96.com/archives/182

在 JavaScript 编程中,经常需要对提交的表单进行验证,特别是对用户在文本框中输入的字符串的长度进行限制。通常我们都是使用字符串对象的 length 属性获取字符串长度,如:var len = str.length; 但这个 length 在计算带有汉字的字符串长度时,却不是将一个汉字的长度算为 2,而是 1,这样对于中英文混合的字符串就更难判断出它到底是多少字符长度了。

解决的办法就是找出字符串中有多少个汉字,然后将这个数字加上 length 的值就是我们想要的结果了。使用 prototype 为 String 对象增加一个新方法 length2,代码如下:

String.prototype.length2 = function() {
var cArr = this.match(/[^x00-xff]/ig);
return this.length + (cArr == null ? 0 : cArr.length);
}

这样就可以对任何字符串使用这个方法了:

var str="test测试";
alert("使用 length 获取的字符串长度:" + str.length + "n" +
"使用 length2() 获取的字符串长度:" + str.length2());

注意:使用 length2() 时不要漏了括号,因为这是一个方法 ;-)

2 unicode字符串所占的字节数问题(js中的字符串应该都是unicode的)

http://en.shareyourideas.net/note/japanese_2_bytes_character_length_string.html
上面以日文为例,使用 了一个escape方法。

3 一些正则表达式问题

 简单入门:http://hi.baidu.com/fableking/blog/item/0f4f08f788807d22730eec5b.html

常见应用:http://hi.baidu.com/borabora/blog/item/d4d7b6fd3aad411709244dbd.html


 


 

版权声明:本文为博主原创文章,未经博主允许不得转载。

js正确截取单字节和双字节混和字符串的方法

js正确截取单字节和双字节混和字符串的方法
  • z344310362
  • z344310362
  • 2015年11月19日 15:50
  • 1069

ZOJ_3313_Clock

ZOJ Problem Set - 3313ClockTime Limit: 1 Second      Memory Limit: 32768 KB It is known that, in one...
  • Jayant_Ton
  • Jayant_Ton
  • 2010年04月14日 15:55
  • 467

vivado 工具问题集

1、 hw server 一直连不上       a server which has the same host name is already********************       ...
  • ouyang3xin
  • ouyang3xin
  • 2017年11月03日 09:34
  • 61

好记性不如烂笔头之常用javasript基础

好记性不如烂笔头之常用javasript基础
  • sunmun
  • sunmun
  • 2016年07月14日 13:07
  • 782

zoj训练指南

链接: http://blog.csdn.net/wss0130/article/details/7880019 ...
  • acm_1361677193
  • acm_1361677193
  • 2015年01月20日 23:04
  • 3067

javascript:;与javascript:void(0)使用介绍

有时候我们在编写js过程中,需要触发事件而不需要返回值,那么就可能需要这样的写法 href=”#”,包含了一个位置信息.默认的锚是#top,也就是网页的上端,当连续快速点击此链接时会导致浏览器巨慢甚...
  • m631521383
  • m631521383
  • 2014年12月09日 10:23
  • 1334

javasript学习之一(函数)

函数 概述 函数调用 函数调用模式 方法调用模式 构造器调用模式 使用apply和call调用函数概述 函数表达式的最后有一个圆括号,表示这个函数被调用 圆括号中任何被传入的变量,都会被翻译...
  • fibonacii
  • fibonacii
  • 2016年11月27日 00:57
  • 133

ZOJ-3323

#include int main() { int n; char s[20]; scanf("%d", &n); while (n--) { ...
  • xhldtc
  • xhldtc
  • 2013年12月30日 21:47
  • 313

javasript学习笔记

if(typeof(temp2)=='undefined'){ alert("aaa"); } if(""+temp2=='undefined') { alert("fff"); ...
  • gaojava
  • gaojava
  • 2013年09月21日 17:55
  • 929

ATL问题集(精典整理1)

/*此文是将网上的一些文章,自已遇到的问题进行整理,有些是翻译,所有只供学习讨论,如有版权还归原作者――作者:王卫星csdnid:wangweixing2000*/#32如何动态创建ocx?答:看下面...
  • wangweixing2000
  • wangweixing2000
  • 2005年08月03日 16:23
  • 2631
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javasript处理字符串问题集
举报原因:
原因补充:

(最多只允许输入30个字)