具体的思路是,获得用户输入信息的容器对象,并且在该对象的onkeydown和onkeyup事件中调用相关函数,来计算用户还可以输入多少字节。
<script language="javascript">
//定义临时变量,来存储对象的值
var mem=0;
//将中文字符的长度转换为英文字符的长度
function utf16to8(str) {
var out, i, len, c;
out = "";
len = str.length;
for(i = 0; i < len; i++) {
c = str.charCodeAt(i);
if ((c >= 0x0001) && (c <= 0x007F)) {
out += str.charAt(i);
} else if (c > 0x07FF) {
out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F));
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
} else {
out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F));
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
}
}
return out;
}
//计算字符串整体长度
function Desp_value_count(obj)
{
var temp = document.getElementById(obj);
var strValue=temp.value;
//去除左空格和右空格
strValue=strValue.replace(/\r/g," ");
strValue=strValue.replace(/\n/g," ");
return utf16to8(strValue).length;
}
//把对象的值暂存在一个变量中,以便执行完utf16to8函数后,把改过的对象值还原成原来的值
function substr_desp(obj)
{
if(mem==0)
{
var test=document.getElementById(obj);
mem=test.value.length;
}
}
//带输入字符长度限制的 多加入变量 num
function LimitDesp_inputN(obj,span_obj,msg1,msg2,msg3,num)
{
var test=document.getElementById(obj);
var test_show=document.getElementById(span_obj);
if(test)
{
var input_num=parseInt(num);
test_show.className="span_match_class";
if(test.value.length==0)
{
Desp_Char_Num=(input_num+1)-Desp_value_count(obj);
mem=0;
}
if(Desp_value_count(obj)==input_num)
{
substr_desp(obj);
test_show.innerHTML=msg2+" "+0+" "+msg3;
//test.value=test.value.substr(0,mem);
return false;
}
else if(Desp_value_count(obj)>(input_num))
{
substr_desp(obj);
test_show.innerHTML=msg1;
//test.value=test.value.substr(0,mem);
return false;
}
else
{
Desp_Char_Num=(input_num+1)-Desp_value_count(obj);
Desp_Char_Num--;
test_show.innerHTML=msg2+" "+Desp_Char_Num+" "+msg3;
mem=0;
}
setTimeout(" LimitDesp_inputN()",1000);
}
}
</script>
HTML调用代码如下:
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="200" align="right">用户信息表:</td>
<td width="71%" align="left"><input
name="szTableName"
type="text"
id="szTableName"
class="input"
maxlength="31" size="45"
onkeydown="LimitDesp_inputN('szTableName','span_SzTableName','您所输入的内容超过长度限制','您还可以输入','个字符',31)"
onkeyup="LimitDesp_inputN('szTableName','span_SzTableName','您所输入的内容超过长度限制','您还可以输入','个字符',31)" />
<span id="span_SzTableName"></span></td></tr>
</table>
分享到:
相关推荐
当用户输入的字符数超过限制时,除了需要显示警告信息外,还需要对文本进行截断处理,以防止超出限制。这里提供了 `cn_substring` 函数来实现这一功能。 #### 示例代码解析 `cn_substring` 函数同样考虑了不同字符...
网络流量监控则涉及网络接口的输入输出字节数、包数和错误数。这对于识别网络拥塞、检测异常流量或者评估带宽使用情况非常有帮助。通过分析网络流量,我们可以优化网络配置,防止过度负载,并确保服务的稳定传输。 ...
本文将深入探讨“网络流量图形显示实时监控”这一主题,它旨在通过图形化界面展示网络的输入、输出流量以及总流量的变化情况,并且完全开源,允许用户根据自身需求进行定制和改进。 首先,我们要理解网络流量的概念...
用户只需在终端输入相应的命令,即可快速查看CPU和内存使用情况。这既简化了操作,也便于集成到自动化脚本或持续集成流程中。 在实际应用中,还可以结合其他库,如Microsoft.Diagnostics.Tracing.EventSource,创建...
例如,`psutil.net_io_counters()`可以用来获取网络的输入输出字节数,而一些特定的硬件监控库,如`lm-sensors`,可能需要在Linux环境下配合使用以获取硬件级别的数据。 软件监控通常涉及跟踪运行中的进程、应用...
同时,为了监控流速,程序可能使用定时器定期读取接口的输入/输出字节数,然后计算出每秒的流量,展示在用户界面上。 统计总流量则是通过累加每个时间间隔的流量数据完成的。在源代码中,可能会有一个全局变量或...
3. **数据输入错误**:人为地将超过字段长度限制的多字节字符输入到VARCHAR2字段中。 #### 解决方案 针对上述情况,我们可以采取多种策略来解决ORA-29275错误。以下是几种有效的方法: 1. **使用转换函数**: - ...
这些API可以获取到网络接口的输入和输出字节数,通过计算一定时间间隔内的字节增量,我们就能得到网络的实时传输速度。 接着,我们关注MFC如何在这个过程中发挥作用。MFC提供了一套面向对象的类库,可以简化GUI界面...
这是在控制台交互中常用的阻塞输入方式,直到用户按下回车键,才会返回用户输入的一行内容。 3. **Scanner类**: Java.util.Scanner类是Java 5引入的,它提供了一种更方便的方式来读取用户输入。通过`nextLine()`...
Linux资源监控是管理和优化系统性能的关键,通过一系列的命令,我们可以获取到系统中CPU、内存、I/O等关键资源的实时使用情况。以下是一些常用的Linux资源监控命令的详细解析: 1. **top命令**: - top命令是实时...
每当用户输入时,它会计算当前的字符或字节数,并更新剩余数量。如果超过了设定的限制,输入将被阻止,并回退到最后一个合法的字符状态。 3. **启用字节限制**: 如果你想根据字节数而不是字符数限制输入,只需在...
本资源"**S7-200SMART任意连续字节求和(源程序+库文件+使用说明).zip**"提供了一个解决方案,帮助用户实现对S7-200SMART PLC中的任意连续字节进行求和操作。以下是关于这个主题的详细讲解: 1. **S7-200SMART PLC...
5. 用户行为记录:结合Windows消息机制,可以捕获用户的键盘输入、鼠标点击等行为,进一步分析用户在计算机上的操作习惯。 在实际的源码中,开发者可能还会使用到易语言的自定义组件、多线程技术、数据库存储等高级...
3. GUI界面设计:MFC提供了丰富的控件和布局管理工具,可以构建用户友好的监控界面,实时展示网络流量、端口状态等信息。 三、网络流量监控 网络流量监控主要关注网络的吞吐量和带宽利用率。在Visual C++中,可以...
通过JavaScript函数`limitDo`,这些输入框在用户输入时会实时限制字节长度。 ```html 可输入5个字节: 你好e"> 可输入6个字节: ,"> 可输入7个字节: ,he"> ``` #### 8. 结论 JavaScript中的字节长度限制输入...
除了发送数据,监控程序还应具备接收用户输入的能力: ```assembly Get_Char INCH BR CLR SCI0SR1, $20, INCH LDA ASCI0DRL RTS ``` 该例程读取从SCI接口传入的字符,不带回显。 #### 总结 通过本文的学习,你已...
4. UBLK, UCOM1, UCOM2 是用户定义的块和字符串常量,UBLK 代表一个256字节加上制表符的单元,UCOM1 和 UCOM2 可能是用于命令或分隔符的组合。 5. CRLF 是回车换行的组合,用于结束一行的输出。 6. DATA 定义了一个...
在“易语言WMI磁盘IO性能监控”项目中,我们主要探讨的是如何利用易语言来实现对计算机磁盘输入/输出(I/O)性能的实时监控。 WMI(Windows Management Instrumentation)是微软提供的一个系统管理框架,它允许程序...