在验证javascript表单数据时,用length属性所验证,一个汉字长度为1。但提交到数据库中(oracle),一个汉字占两个字节,长度为2,这样就造成验证误差。
比如数据库表定义一个字段长度为5,用length来限制录入的长度,如果录入的为汉字,这样可以通过验证,但插入数据库肯定会出错。
为了解决这中情况,可以定义一个新的函数getBytes()取得字符串的字节数(实际上这个函数是java的标准函数)。
定义如下:
js 代码
<script language=javascript>
String.prototype.getBytes = function() {
var cArr = this.match(/[^\x00-\xff]/ig);
return this.length + (cArr == null ? 0 : cArr.length);
}
var len=frm.elements["CSMArea/mscID"].value.getBytes();
if(len>5){
alert("交换机标识长度超过限制");
frm.elements["CSMArea/mscID"].select();
return false;
}
</script>
getBytes用正则表达式来判断字符串中包含汉字的个数,包含的汉字都放到数组cArr中,这样cArr的长度就是汉字的总数。getBytes方法返回length加上汉字数,就是总的字节数。
分享到:
相关推荐
然而,JavaScript中的字符串长度并不等同于字节长度,因为JavaScript字符串是基于Unicode编码的,每个字符可能占用1到4个字节不等。这与一些其他编程语言(如C或C++)中的字符串处理方式有所不同,在那些语言中,...
总结来说,判定提交内容是否超过数据库长度时,需要考虑字符编码的问题,并且可能需要自定义函数来准确计算字符串的字符数。这在处理包含中文或其他非ASCII字符的多语言Web应用中尤为重要。同时,开发者还必须注意到...
JS的字符串都是string对象,可以用string对象的length属性可以获取其长度,但是无论是中文、全角符号以及英文最小长度单位都是1,这与php的strlen()并不相同。 代码如下: function strlen(str) { var s = 0; for(var...
JavaScript 中关于字符串字节长度的计算比较(含汉字字符串) 可用于验证字符串长度。效率比较高。
这份"JavaScript中文手册"详细地涵盖了JavaScript的基础知识、语法特性、函数方法以及一些进阶概念,对于学习和掌握JavaScript来说是非常宝贵的资源。 一、JavaScript基础 JavaScript的基础包括变量、数据类型、...
《编写可维护的JavaScript》向开发人员阐述了如何在团队开发中编写具备高可维护性的JavaScript代码,书中详细说明了作为团队一分子,应该怎么写JavaScript。本书内容涵盖了编码风格、编程技巧、自动化、测试等几方面...
C#和Javascript两种语法判断混合字符长度,有利于Web程序开发避免存储字符串的错误
特别是在处理包含多种语言字符的字符串时,如中文字符,常常需要特别注意字符的长度计算问题。由于JavaScript是基于Unicode编码的,每一个字符都被视为一个单元,而传统后端语言如Java或C++中,中文字符通常被编码为...
- 家庭住址长度限制在 50 个字符以内,只能包含中文、数字和字母。 - 性别、班级、课程不能为空。 - 兴趣输入框限制为 200 字符,只能包含中文、字母和符号。 - 使用 JavaScript 进行表单验证,并给出相应的提示...
本文将详细介绍一个专门用于处理中文字符串截取的JavaScript函数,该函数能够根据字符的实际编码长度来精确控制截取的长度。 #### 二、关键概念解析 ##### 2.1 字符串截取 字符串截取是指从一个较长的字符串中...
通过以上介绍,我们可以看到在JavaScript和Java中,都有多种方法可以用来处理中文和英文混合的字符串长度计算问题。选择哪种方法取决于具体的应用场景和技术限制。无论是JavaScript还是Java,核心思想都是通过对字符...
该规范由Douglas Crockford编写,并由cloudwater翻译成中文版。Crockford是一位著名的JavaScript专家,他提出的许多概念如JSON格式已经成为Web开发的标准之一。这份规范参考了Sun公司的Java编码规范,但由于...
这份"Airbnb出品目前非常流行的JavaScript代码规范中文版"为国内开发者提供了一个清晰、一致的编程指南,帮助我们写出更规范、更具可读性的JavaScript代码。 1. **命名约定**: - 变量名应清晰反映其用途,使用...
在传统的编程实践中,尤其是在使用JavaScript这样的编程语言时,一个简单的字符串长度函数,如length属性,可能无法准确反映中文字符所占的字符长度。例如,在JavaScript中,英文字符和一些标点符号默认占用1个字符...
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语言本身,以及Web浏览器所实现的JavaScript API。本书第6版涵盖了HTML5和ECMAScript 5,很多章节完全重写,增加了当今Web开发的最佳实践的内容,新增...
`codeLength` 是一个自定义的方法,用于计算包含中文字符的字符串的实际长度。 #### 实现方法: ```javascript String.prototype.codeLength = function() { var len = 0; if (this == null || this.length == 0)...