`
jysh0922
  • 浏览: 69970 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

在验证javascript表单数据时,用length属性所验证,一个汉字长度为1。但提交到数据库中(oracle),一个汉字占两个字节,长度为2,这样就造成验证误差。
比如数据库表定义一个字段长度为5,用length来限制录入的长度,如果录入的为汉字,这样可以通过验证,但插入数据库肯定会出错。
为了解决这中情况,可以定义一个新的函数getBytes()取得字符串的字节数(实际上这个函数是java的标准函数)。
定义如下:

js 代码
  1. <script language=javascript>    
  2.   
  3. String.prototype.getBytes = function() {   
  4.     var cArr = this.match(/[^\x00-\xff]/ig);   
  5.     return this.length + (cArr == null ? 0 : cArr.length);   
  6. }    
  7.   
  8. var len=frm.elements["CSMArea/mscID"].value.getBytes();   
  9.  if(len>5){   
  10.   alert("交换机标识长度超过限制");   
  11.   frm.elements["CSMArea/mscID"].select();   
  12.   return false;   
  13.  }    
  14.   
  15. </script>    

getBytes用正则表达式来判断字符串中包含汉字的个数,包含的汉字都放到数组cArr中,这样cArr的长度就是汉字的总数。getBytes方法返回length加上汉字数,就是总的字节数。

分享到:
评论

相关推荐

    javascript的到字符串字节长度

    然而,JavaScript中的字符串长度并不等同于字节长度,因为JavaScript字符串是基于Unicode编码的,每个字符可能占用1到4个字节不等。这与一些其他编程语言(如C或C++)中的字符串处理方式有所不同,在那些语言中,...

    javaScript判定提交内容是否超过数据库长度

    总结来说,判定提交内容是否超过数据库长度时,需要考虑字符编码的问题,并且可能需要自定义函数来准确计算字符串的字符数。这在处理包含中文或其他非ASCII字符的多语言Web应用中尤为重要。同时,开发者还必须注意到...

    javascript 判断中文字符长度的函数代码

    JS的字符串都是string对象,可以用string对象的length属性可以获取其长度,但是无论是中文、全角符号以及英文最小长度单位都是1,这与php的strlen()并不相同。 代码如下: function strlen(str) { var s = 0; for(var...

    javascript中文手册

    这份"JavaScript中文手册"详细地涵盖了JavaScript的基础知识、语法特性、函数方法以及一些进阶概念,对于学习和掌握JavaScript来说是非常宝贵的资源。 一、JavaScript基础 JavaScript的基础包括变量、数据类型、...

    JavaScript 中关于字符串字节长度的计算比较(含汉字字符串)

    JavaScript 中关于字符串字节长度的计算比较(含汉字字符串) 可用于验证字符串长度。效率比较高。

    编写可维护的JavaScript(中文)

    《编写可维护的JavaScript》向开发人员阐述了如何在团队开发中编写具备高可维护性的JavaScript代码,书中详细说明了作为团队一分子,应该怎么写JavaScript。本书内容涵盖了编码风格、编程技巧、自动化、测试等几方面...

    C#和Javascript两种语法判断混合字符长度

    C#和Javascript两种语法判断混合字符长度,有利于Web程序开发避免存储字符串的错误

    javascript中使用正则计算中文长度的例子

    特别是在处理包含多种语言字符的字符串时,如中文字符,常常需要特别注意字符的长度计算问题。由于JavaScript是基于Unicode编码的,每一个字符都被视为一个单元,而传统后端语言如Java或C++中,中文字符通常被编码为...

    JavaScript上机实验题

    - 家庭住址长度限制在 50 个字符以内,只能包含中文、数字和字母。 - 性别、班级、课程不能为空。 - 兴趣输入框限制为 200 字符,只能包含中文、字母和符号。 - 使用 JavaScript 进行表单验证,并给出相应的提示...

    JavaScript截取中文字符串

    本文将详细介绍一个专门用于处理中文字符串截取的JavaScript函数,该函数能够根据字符的实际编码长度来精确控制截取的长度。 #### 二、关键概念解析 ##### 2.1 字符串截取 字符串截取是指从一个较长的字符串中...

    js java 判断中文,英文的混合长度

    通过以上介绍,我们可以看到在JavaScript和Java中,都有多种方法可以用来处理中文和英文混合的字符串长度计算问题。选择哪种方法取决于具体的应用场景和技术限制。无论是JavaScript还是Java,核心思想都是通过对字符...

    JavaScript程序编码规范.pdf

    该规范由Douglas Crockford编写,并由cloudwater翻译成中文版。Crockford是一位著名的JavaScript专家,他提出的许多概念如JSON格式已经成为Web开发的标准之一。这份规范参考了Sun公司的Java编码规范,但由于...

    Airbnb出品目前非常流行的JavaScript代码规范中文版

    这份"Airbnb出品目前非常流行的JavaScript代码规范中文版"为国内开发者提供了一个清晰、一致的编程指南,帮助我们写出更规范、更具可读性的JavaScript代码。 1. **命名约定**: - 变量名应清晰反映其用途,使用...

    判断字符串的长度(优化版)中文占两个字符

    在传统的编程实践中,尤其是在使用JavaScript这样的编程语言时,一个简单的字符串长度函数,如length属性,可能无法准确反映中文字符所占的字符长度。例如,在JavaScript中,英文字符和一些标点符号默认占用1个字符...

    JavaScript权威指南(第6版)中文版pdf+源代码

     7.4 数组长度148  7.5 数组元素的添加和删除149  7.6 数组遍历149  7.7 多维数组151  7.8 数组方法152  7.9 ECMAScript 5中的数组方法 156  7.10 数组类型160  7.11 类数组对象161  7.12 作为数组的字符串...

    JavaScript权威指南(第6版)(中文版)

    《JavaScript权威指南(第6版)》主要讲述的内容涵盖JavaScript语言本身,以及Web浏览器所实现的JavaScript API。本书第6版涵盖了HTML5和ECMAScript 5,很多章节完全重写,增加了当今Web开发的最佳实践的内容,新增...

    JavaScript代码大全

    `codeLength` 是一个自定义的方法,用于计算包含中文字符的字符串的实际长度。 #### 实现方法: ```javascript String.prototype.codeLength = function() { var len = 0; if (this == null || this.length == 0)...

Global site tag (gtag.js) - Google Analytics