表单提交验证类


Posted in Javascript onJuly 14, 2006

 >屏蔽功能类

1.1 屏蔽键盘所有键
<script language="javascript">
<!--
function document.onkeydown(){
   event.keyCode = 0;
   event.returnvalue = false;
}
-->
</script>

1.2 屏蔽鼠标右键

在body标签里加上oncontextmenu=self.event.returnvalue=false

或者

<script language="javascript">
<!--
function document.oncontextmenu() 

  return false; 

-->
</script>

function nocontextmenu()

    if(document.all) {
        event.cancelBubble=true;
        event.returnvalue=false; 
        return false; 
    }
}

或者

<body onmousedown="rclick()" oncontextmenu= "nocontextmenu()">

<script language="javascript">
<!--
function rclick()
{
    if(document.all) {
        if (event.button == 2){
            event.returnvalue=false;
        }
    }
}
-->
</script>

1.3 屏蔽 Ctrl+N、Shift+F10、F5刷新、退格键

<script language="javascript">
<!--
  //屏蔽鼠标右键、Ctrl+N、Shift+F10、F5刷新、退格键
function window.onhelp(){return false} //屏蔽F1帮助
function KeyDown(){
  if ((window.event.altKey)&&
      ((window.event.keyCode==37)||   //屏蔽 Alt+ 方向键 ←
       (window.event.keyCode==39))){  //屏蔽 Alt+ 方向键 →
     alert("不准你使用ALT+方向键前进或后退网页!");
     event.returnvalue=false;
     }

     /* 注:这还不是真正地屏蔽 Alt+ 方向键,
     因为 Alt+ 方向键弹出警告框时,按住 Alt 键不放,
     用鼠标点掉警告框,这种屏蔽方法就失效了。以后若
     有哪位高手有真正屏蔽 Alt 键的方法,请告知。*/

  if ((event.keyCode == 8) && 
      (event.srcElement.type != "text" && 
      event.srcElement.type != "textarea" && 
      event.srcElement.type != "password") ||           //屏蔽退格删除键   
      (event.keyCode==116)||                            //屏蔽 F5 刷新键
      (event.ctrlKey && event.keyCode==82)){            //Ctrl + R
     event.keyCode=0;
     event.returnvalue=false;
     }
  if ((event.ctrlKey)&&(event.keyCode==78))   //屏蔽 Ctrl+n
     event.returnvalue=false;
  if ((event.shiftKey)&&(event.keyCode==121)) //屏蔽 shift+F10
     event.returnvalue=false;
  if (window.event.srcElement.tagName == "A" && window.event.shiftKey) 
      window.event.returnvalue = false;  //屏蔽 shift 加鼠标左键新开一网页
  if ((window.event.altKey)&&(window.event.keyCode==115)){ //屏蔽Alt+F4
      window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");
      return false;}
  }
 /* 另外可以用 window.open 的方法屏蔽 IE 的所有菜单
第一种方法:
  window.open("你的.htm", "","toolbar=no,location=no,directories=no,menubar=no,scrollbars=no,resizable=yes,status=no,top=0,left=0")
第二种方法是打开一个全屏的页面:
  window.open("你的.asp", "", "fullscreen=yes")
 */
//-->
</script>

1.4屏蔽浏览器右上角“最小化”“最大化”“关闭”键

<script language=javascript>
function window.onbeforeunload()
{
  if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey)
  {
    window.event.returnvalue = "";
  }
}
</script>

或者使用全屏打开页面

<script language="javascript">
<!--
window.open(www.32pic.com,"32pic","fullscreen=3,height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no");
-->
</script>

注:在body标签里加上onbeforeunload="javascript:return false"(使不能关闭窗口)

1.5屏蔽F5键

<script language="javascript">
<!--
function document.onkeydown() 

    if ( event.keyCode==116) 
    { 
        event.keyCode = 0; 
        event.cancelBubble = true; 
        return false; 
    }
}
-->
</script>

1.6屏蔽IE后退按钮

在你链接的时候用 <a href="javascript:location.replace(url)">

1.7屏蔽主窗口滚动条

在body标签里加上 style="overflow-y:hidden"

1.8 屏蔽拷屏,不断地清空剪贴板

在body标签里加上onload="setInterval('clipboardData.setData(\'Text\',\'\')',100)"

1.9 屏蔽网站的打印功能

<style>
@media print {
   * { display: none }
}
</style>

1.10 屏蔽IE6.0 图片上自动出现的保存图标

方法一:
<META HTTP-EQUIV="imagetoolbar" CONTENT="no">
方法二:
<img galleryimg="no">

1.11 屏蔽页中所有的script

<noscrript></noscript>

<script language="javascript">
<!--
function CheckForm()
{
if (document.form.name.value.length == 0) {
   alert("请输入您姓名!");
   document.form.name.focus();
   return false;
}
   return true;
}
-->
</script>

2.2 比较两个表单项的值是否相同

<script language="javascript">
<!--
function CheckForm()
if (document.form.PWD.value != document.form.PWD_Again.value) {
   alert("您两次输入的密码不一样!请重新输入.");
   document.ADDUser.PWD.focus();
   return false;
}
   return true;
}
-->
</script>

2.3 表单项只能为数字和"_",用于电话/银行帐号验证上,可扩展到域名注册等

<script language="javascript">
<!--
function isNumber(String)

    var Letters = "1234567890-"; //可以自己增加可输入值
    var i;
    var c;
      if(String.charAt( 0 )=='-')
 return false;
      if( String.charAt( String.length - 1 ) == '-' )
          return false;
     for( i = 0; i < String.length; i ++ )
     {
          c = String.charAt( i );
   if (Letters.indexOf( c ) < 0)
          return false;
}
     return true;
}
function CheckForm()
{
    if(! isNumber(document.form.TEL.value)) {
  alert("您的电话号码不合法!");
         document.form.TEL.focus();
         return false;
}
return true;
}
-->
</script>

2.4 表单项输入数值/长度限定

<script language="javascript">
<!--
function CheckForm() 
{
    if (document.form.count.value > 100 || document.form.count.value < 1)
{
 alert("输入数值不能小于零大于100!");
 document.form.count.focus();
 return false;
}
    if (document.form.MESSAGE.value.length<10)
{
 alert("输入文字小于10!");
 document.form.MESSAGE.focus();
 return false;
}
return true;
}
//-->
</script>

2.5 中文/英文/数字/邮件地址合法性判断

<SCRIPT LANGUAGE="javascript">
<!--

function isEnglish(name) //英文值检测
{
 if(name.length == 0)
  return false;
 for(i = 0; i < name.length; i++) {
  if(name.charCodeAt(i) > 128)
   return false;
 }
 return true;
}

function isChinese(name) //中文值检测
{
 if(name.length == 0)
  return false;
 for(i = 0; i < name.length; i++) {
  if(name.charCodeAt(i) > 128)
   return true;
 }
 return false;
}

function isMail(name) // E-mail值检测
{
 if(! isEnglish(name))
  return false;
 i = name.indexOf("@");
 j = name.lastIndexOf("@");
 if(i == -1)
  return false;
 if(i != j)
  return false;
 if(i == name.length)
  return false;
 return true;
}

function isNumber(name) //数值检测
{
 if(name.length == 0)
  return false;
 for(i = 0; i < name.length; i++) {
  if(name.charAt(i) < "0" || name.charAt(i) > "9")
   return false;
 }
 return true;
}

function CheckForm()
{
 if(! isMail(form.Email.value)) {
  alert("您的电子邮件不合法!");
  form.Email.focus();
  return false;
 }
 if(! isEnglish(form.name.value)) {
  alert("英文名不合法!");
  form.name.focus();
  return false;
 }
 if(! isChinese(form.cnname.value)) {
  alert("中文名不合法!");
  form.cnname.focus();
  return false;
 }
 if(! isNumber(form.PublicZipCode.value)) {
  alert("邮政编码不合法!");
  form.PublicZipCode.focus();
  return false;
 }
 return true;
}
//-->
</SCRIPT>

2.6 限定表单项不能输入的字符

<script language="javascript">
<!--

function contain(str,charset)// 字符串包含测试函数
{
  var i;
  for(i=0;i<charset.length;i++)
  if(str.indexOf(charset.charAt(i))>=0)
  return true;
  return false;
}

function CheckForm()
{
 if ((contain(document.form.NAME.value, "%\(\)><")) || (contain(document.form.MESSAGE.value, "%\(\)><")))
{
  alert("输入了非法字符");
  document.form.NAME.focus();
  return false;
}
  return true;
}
//-->
</script>

Javascript 相关文章推荐
JavaScript高级程序设计 阅读笔记(十四) js继承机制的实现
Aug 14 Javascript
JavaScript splice()方法详解
Sep 22 Javascript
javascript实现当前页导航激活的方法
Feb 27 Javascript
Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
Nov 24 Javascript
js在ie下打开对话窗口的方法小结
Oct 24 Javascript
vue.js的提示组件
Mar 02 Javascript
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
May 13 jQuery
浅谈Node Inspector 代理实现
Oct 19 Javascript
node实现的爬虫功能示例
May 04 Javascript
JavaScript中concat复制数组方法浅析
Jan 20 Javascript
Vue + element 实现多选框组并保存已选id集合的示例代码
Jun 03 Javascript
如何开发一个渐进式Web应用程序PWA
May 10 Javascript
如何实现浏览器上的右键菜单
Jul 10 #Javascript
载入进度条 效果
Jul 08 #Javascript
让广告代码不再影响你的网页加载速度
Jul 07 #Javascript
一段实时更新的时间代码
Jul 07 #Javascript
根据分辨率不同,调用不同的css文件
Jul 07 #Javascript
鼠标图片振动代码
Jul 06 #Javascript
显示、隐藏密码
Jul 01 #Javascript
You might like
php实现的获取网站备案信息查询代码(360)
2013/09/23 PHP
ThinkPHP表单令牌错误的相关解决方法分析
2016/05/20 PHP
一个实用的php验证码类
2017/07/06 PHP
jQuery动态地获取系统时间实现代码
2013/05/24 Javascript
JS格式化数字金额用逗号隔开保留两位小数
2013/10/18 Javascript
jquery实现在光标位置插入内容的方法
2015/02/05 Javascript
Windows系统中安装nodejs图文教程
2015/02/28 NodeJs
js中利用tagname和id获取元素的方法
2016/01/03 Javascript
深入学习js瀑布流布局
2016/10/14 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
2016/12/14 Javascript
js仿拉勾网首页穿墙广告效果
2017/03/08 Javascript
JavaScript实现前端分页控件
2017/04/19 Javascript
关于jquery layui弹出层的使用方法
2018/04/21 jQuery
jquery-ui 进度条功能示例【测试可用】
2019/07/25 jQuery
vue移动端模态框(可传参)的实现
2019/11/20 Javascript
JS实现电脑虚拟键盘的操作
2020/06/24 Javascript
python编写暴力破解FTP密码小工具
2014/11/19 Python
Python使用tablib生成excel文件的简单实现方法
2016/03/16 Python
Python的string模块中的Template类字符串模板用法
2016/06/27 Python
Python 操作MySQL详解及实例
2017/04/30 Python
Diango + uwsgi + nginx项目部署的全过程(可外网访问)
2018/04/22 Python
python,Django实现的淘宝客登录功能示例
2019/06/12 Python
Pyinstaller 打包exe教程及问题解决
2019/08/16 Python
python IDLE添加行号显示教程
2020/04/25 Python
浅谈Python中的生成器和迭代器
2020/06/19 Python
澳大利亚领先的睡衣品牌:Peter Alexander
2016/08/16 全球购物
Columbia Sportswear法国官网:全球户外品牌
2020/09/25 全球购物
顶碗少年教学反思
2014/02/21 职场文书
机电专业大学生职业规划书范文
2014/02/25 职场文书
销售人员职业生涯规划范文
2014/03/01 职场文书
助人为乐模范事迹材料
2014/06/02 职场文书
2014最新离职证明范本
2014/09/12 职场文书
老干部工作汇报材料
2014/10/28 职场文书
公司员工安全协议书
2014/11/21 职场文书
优秀共产党员事迹材料2016
2016/02/29 职场文书
Python进程间的通信之语法学习
2022/04/11 Python