一个简单的Javascript输入框
  这个程序是一个Javascript类,作用是代替标准输入框,可以输入大小
写字母,数字,空格,回车,其他字符全部过滤掉,按Insert键可以删除前
一个输入的字符。大家可以扩展其功能,这样提交的时候也不用检查什么了,
因为根本就不让你这么乱输入了,只需要后台CGI程序判断就行了。

<html>
<head>
<title>Edit</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="javascript">
// *****************************************************************
//          Written By Caocao
//          [email protected]
//          http://caocao.oso.com.cn
// *****************************************************************
function editor_input_char(char,method)
{
 pass=1;
 if (method)
 {
  pass=0;
  if (char==45)
  {
   if (this.text.substr(this.text.length-1,this.text.length)==";")
   {
    this.text=this.text.substr(0,this.text.length-5);
   }
   if (this.text.substr(this.text.length-1,this.text.length)==">")
   {
    this.text=this.text.substr(0,this.text.length-3);
   }
   this.text=this.text.substr(0,this.text.length-1);
   if (this.count)
   {
    this.count--;
   }
   else
   {
    if (this.line>1)
    {
     this.count=80;
     this.line--;
    }
   }
   this.paint();
  }
  if (char==13)
  {
   char="<br>";
   pass=1;
  }
  if (char==32)
  {
   char="&nbsp;";
   pass=1;
  }
  if (char>=48&&char<=57)
  {
   char=String.fromCharCode(char);
   pass=1;
  }
  if (char>=65&&char<=90)
  {
   char=String.fromCharCode(char);
   if (!event.shiftKey)
   {
    char=char.toLowerCase();
   }
   pass=1;
  }
 }
 if (pass)
 {
  this.text+=char;
  this.count++;
  if (this.count>80)
  {
   this.count=0;
   this.line++;
   this.text+="<br>";
  }
  this.paint();
 }
}
function editor_paint()
{
 txt.innerHTML=this.text;
}
function editor()
{
 this.text="";
 this.cursor_start=0;
 this.cursor_end=0;
 this.insert=1;
 this.count=0;
 this.line=1;
 this.input_char=editor_input_char;
 this.paint=editor_paint;
}

var edit=new editor();
</script>
<style type="text/css">
<!--
td { font-size: 12px}
-->
</style>
</head>
<body bgcolor="#FFFFCC" text="#000000" onkeydown="javascript:edit.input_char(event.keyCode,1);">
<table width="760" height="460" border="1" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF">
 <tr>
  <td valign="top" id="txt">&nbsp;</td>
 </tr>
</table>
</body>
</html>