在ASP.NET系统中经常会遇到验证文本框长度,比如数据库里是Varchar(50)的,那么在界面上最好能控制只输入50个字符,这种验证在一些情况下是必不可少:
对于单行文本框使用Length属性即可,这种方法很简单,但存在一个问题,就是中文字符它只记为一个字符,而在数据库里是两个字符,因此象上面的50个字符,如果使用Length=50,如果用户输入50个中文字,那么系统会报错的,因此,可以采用Length=25,用于控制最大可能性,这同时也减少了英文字符的字数。这倒其实也是很重要,只要我们在设计数据库时,把应该需要的数字数放大一倍就可以了。
对于多行文本框的Length属性则不起作用了,因此要采用下面的这种方案:
<script language="javascript">
<!--
String.prototype.len=function(){
return this.replace(/[^\x00-\xff]/g,"**").length;
}
function CheckLength(source, arguments)
{
var ValidStrLength=50;
if (arguments.Value.len()<=ValidStrLength)
arguments.IsValid = true;
else
arguments.IsValid = false;
}
//-->
</script>
在界面上使用上面的脚本,然后在需要验证的地方,加上CustomValidator验证控件,把ClientValidationFunction属性指定为"CheckLength",这个方法就是上面的客户端函数,函数中的 var ValidStrLength=50; 就是指要验证的字符数。要说明的是,这里的字符数是会自动区分中文字符的,一个中文字符会自动记为两个字符,因此,不需要象单行文本框一样,设置为总字符数的一半来控制。
转自:http://www.cnblogs.com/tintown/archive/2005/01/17/93004.html
分享到:
相关推荐
实例045 限制多行文本域输入的字符个数 64 2.5 表单的综合应用 65 实例046 表单组件的综合应用 65 实例047 同一个页面中的多表单提交 66 实例048 获取表单中提交的所有数据 68 实例049 以文件域的形式...
实例004 根据需要创建所需解决方案 6 1.2 Visual Studio开发环境的使用 8 实例005 为程序设置版本和帮助信息 8 实例006 设置Windows应用程序启动窗体 9 实例007 统一窗体中控件的字体设置 10 实例008 通过“格式”...
2 <br>0003 设置程序代码行序号 3 <br>0004 开发环境全屏显示 3 <br>0005 设置窗口的自动隐藏功能 3 <br>0006 根据需要创建所需解决方案 4 <br>0007 如何使用“验证的目标架构”功能 4 ...
每个实例都经作者精心筛选,具有很强的实用性,其中一些实例是开发人员难于寻觅的解决方案。 本书适合PHP的初学者,如高校学生、求职人员作为练习、速查、学习使用,也适合PHP程序员参考、查阅。 目 录 目录:...
每个实例都经作者精心筛选,具有很强的实用性,其中一些实例是开发人员难于寻觅的解决方案。 本书适合PHP的初学者,如高校学生、求职人员作为练习、速查、学习使用,也适合PHP程序员参考、查阅。 目 录 目录:...
实例001 根据需要创建所需解决方案 实例002 统一窗体中控件的字体设置 实例003 设置程序代码行号 实例004 通过“格式”菜单布局窗体 实例005 为项目添加dll文件引用 实例006 为项目添加已有类 实例007 为项目添加第...
15.5 常见问题与解决方案 259 15.6 小结 261 第16章 数据库中的程序逻辑 262 16.1 数据库程序逻辑与PHP程序逻辑的分体 16.1 设计原则 262 16.2 数据库中的程序逻辑与数据的关系 262 16.3 存储过程的设计 263 16.3.1 ...
实例001 根据需要创建所需解决方案 2 实例002 统一窗体中控件的字体设置 3 实例003 设置程序代码行号 5 实例004 通过“格式”菜单布局窗体 6 实例005 为项目添加dll文件引用 7 实例006 为项目添加已有类 8 实例007 ...
在字符串对象中使用多行文本时,生成IPC-2581输出不再导致访问冲突(BC:10407)。 30293 添加了新扩展 - Ansys EDB Exporter。安装后,使用File> Export> Ansys EDB在PCB Editor中访问。 起草者 15059 添加了新的...