广告位联系
返回顶部
分享到

用htc实现验证模块的代码

python 来源:互联网搜集 作者:秩名 发布时间:2020-02-12 21:22:32 人浏览
摘要

代码如下: /*************************************************************************************** *validate1.0 *此代码版权归海洋工作室ocean所有,您可以非商业目的使用、复制、修改此代码,但需要 *保留本工作室的版权信息。如果您使用、修改此代

代码如下:

/*************************************************************************************** 
 *                                   validate1.0 
 *     此代码版权归海洋工作室ocean所有,您可以非商业目的使用、复制、修改此代码,但需要 
 * 保留本工作室的版权信息。如果您使用、修改此代码为商业目的,请联系本工作室取得使用许可。 
 * 
 * 如果您对本程序有什么建议,请email to:ocean@forever.net.cn。 
 * 
 *                                                                          海洋工作室 
 *                                                          http://www.oceanstudio.net 
 *                                                     ocean(ocean@forever.net.cn) 制作 
 *****************************************************************************************/ 
//键盘事件 
<PUBLIC:ATTACH EVENT="onkeypress" ONEVENT="doEvent()" /> 
//粘贴事件 
<PUBLIC:ATTACH EVENT="onpaste"  ONEVENT="doEvent()" /> 
//失去焦点事件 
<PUBLIC:ATTACH EVENT="onblur" ONEVENT="doEvent()" /> 
<SCRIPT LANGUAGE="JScript"> 
//预定义的检查模式 
var regArray = new Array( 
    new Array("int+0","^\\d+$","","需要输入一个非负整数,请重新检查"),    //非负整数(正整数 + 0) 
    new Array("int+","^[0-9]*[1-9][0-9]*$","^\\d+$","需要输入一个正整数,请重新检查"),        //正整数 
    new Array("int-0","^((-\\d+)|(0+))$","^(-|(-\\d+)|(0+))$","需要输入一个非正整数,请重新检查"),    //非正整数(负整数 + 0) 
    new Array("int-","^-[0-9]*[1-9][0-9]*$","^(-|(-\\d+)|(0+))$","需要输入一个负整数,请重新检查"),    //负整数 
    new Array("int","^-?\\d+$","^-|(-?\\d+)$","需要输入一个整数,请重新检查"),            //整数 
    new Array("double+0","^\\d+(\\.\\d+)?$","^((\\d+\\.)|(\\d+(\\.\\d+)?))$","需要输入一个非负浮点数,请重新检查"),    //非负浮点数(正浮点数 + 0) 
    new Array("double+","^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$","^((\\d+\\.)|(\\d+(\\.\\d+)?))$","需要输入一个正浮点数,请重新检查"),        //正浮点数 
    new Array("double-0","^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$","^(-|(-\\d+\\.)|(0+\\.)|(-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$","需要输入一个非正浮点数,请重新检查"),    //非正浮点数(负浮点数 + 0) 
    new Array("double-","^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$","^(-|(-\\d+\\.?)|(-\\d+\\.\\d+))$","需要输入一个负浮点数,请重新检查"),        //负浮点数 
    new Array("double","^(-?\\d+)(\\.\\d+)?$","^(-|((-?\\d+)(\\.\\d+)?)|(-?\\d+)\\.)$","需要输入一个浮点数,请重新检查"),        //浮点数 
    new Array("char","^[A-Za-z]+$","","您只能输入英文字母,请重新检查"),        //由26个英文字母组成的字符串 
    new Array("upperchar","^[A-Z]+$","","您只能输入英文大写字母,请重新检查"),    //由26个英文字母的大写组成的字符串 
    new Array("lowerchar","^[a-z]+$","","您只能输入英文小写字母,请重新检查"),    //由26个英文字母的小写组成的字符串 
    new Array("digitchar","^[A-Za-z0-9]+$","","您只能输入数字和英文字母,请重新检查"),    //由数字和26个英文字母组成的字符串 
    new Array("digitchar_","^\\w+$","","您只能输入数字、英文字母和下划线,请重新检查"),    //由数字、26个英文字母或者下划线组成的字符串 
    new Array("email","^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$","^(([\\w-]+(\\.[\\w-]+)*@?)|([\\w-]+(\\.[\\w-]+)*@[\\w-]+)|([\\w-]+(\\.[\\w-]+)*@([\\w-]+\\.)+)|([\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+))$","需要输入正确的email地址,请重新检查"),        //email地址 
    new Array("url","^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$","^([a-zA-z]+:?)|([a-zA-z]+:/{1,2})|([a-zA-z]+://(\\w+(-\\w+)*))|([a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?)$","需要输入正确的url地址,请重新检查")            //url 
); 
//受控元素默认的事件处理程序 
function doEvent() { 
    //得到触发事件的类型 
    var type = window.event.type; 
    //得到触发元素的值。 
    var value = window.event.srcElement.value; 
    if (type == "keypress") {    //如果是键盘按下事件,得到键盘按下后的值 
        var keyCode = window.event.keyCode; 
        if (typeof(window.event.srcElement.upper) != "undefined") {    //如果定义了转换大写 
            if (keyCode >= 97 && keyCode <= 122) 
                keyCode = window.event.keyCode = keyCode - 32; 
        } 
        else if (typeof(window.event.srcElement.lower) != "undefined") {    //如果定义了转换小写 
            if (keyCode >= 65 && keyCode <= 90) 
                keyCode = window.event.keyCode = keyCode + 32; 
        } 
        value += String.fromCharCode(keyCode); 
    } 
    else if (type == "paste") { 
        value += window.clipboardData.getData("Text"); 
    } 
    //如果触发元素的值为空,则表示用户没有输入,不接受检查。 
    if (value == "") return; 
    //如果触发元素没有设置reg属性,则返回不进行任何检查。 
    if (typeof(window.event.srcElement.reg) == "undefined") return; 
    //如果触发元素没有定义check属性,则在按键和粘贴事件中不做检查 
    if ((type == "keypress" || type == "paste") && typeof(window.event.srcElement.check) == "undefined") return; 
    //如果没有通过检查模式,出现的错误信息 
    var msg = ""; 
    //得到检查模式 
    var reg = window.event.srcElement.reg; 
    //正则表达式对象 
    var regExp = null; 
    //从预定义的检查模式中查找正则表达式对象 
    for (var i=0;i<regArray.length;i++) { 
        if (regArray[i][0] == reg) { 
            if ((type == "keypress" || type == "paste") && regArray[i][2] != "") 
                regExp = new RegExp(regArray[i][2]);    //查找到预定义的检查模式 
            else 
                regExp = new RegExp(regArray[i][1]);    //查找到预定义的检查模式 
            msg = regArray[i][3];                    //定义预定义的报错信息 
            break;    //查找成功,退出循环 
        } 
    } 
    if (regExp == null) {    //如果没有查找到预定义的检查模式,说明reg本身就为正则表达式对象。 
        if ((type == "keypress" || type == "paste") && typeof(window.event.srcElement.regcheck) != "undefined") 
            regExp = new RegExp(window.event.srcElement.regcheck);    //按照用户自定义的正则表达式生成正则表达式对象。 
        else 
            regExp = new RegExp(reg);    //按照用户自定义的正则表达式生成正则表达式对象。 
        msg = "输入错误,请重新检查";        //错误信息 
    } 
    //检查触发元素的值符合检查模式,直接返回。 
    if (regExp.test(value)) return; 

    if (type == "blur") {    //如果是失去焦点并且检查不通过,则需要出现错误警告框。 
        //判断用户是否自己定义了错误信息 
        if (typeof(window.event.srcElement.msg) != "undefined") 
            msg = window.event.srcElement.msg; 
        //显示错误信息 
        alert(msg); 
        //将焦点重新聚回触发元素 
        window.event.srcElement.focus(); 
        window.event.srcElement.select(); 
    } 
    else {    //如果是键盘按下或者粘贴事件并且检查不通过,则取消默认动作。 
        //取消此次键盘按下或者粘贴操作 
        window.event.returnValue = false; 
    } 
} 
</SCRIPT>

应用栗子:

<html> 
<head> 
<style type="text/css"> 
TABLE { 
    width:100%; 
} 
INPUT { 
    behavior:url("validate.htc"); 
} 
</style> 
</head> 
<body style="margin:0"> 
<table> 
    <tr><td><a href="http://www.oceanstudio.net"><img border="0" src="logo.jpg"></a></td></tr> 
</table> 
<br> 
<table style="margin-left:20px"> 
    <tr> 
        <td>验证规则</td> 
        <td>实时检测</td> 
        <td>失去焦点时检测</td> 
    </tr> 
    <tr> 
        <td>非负整数(正整数 + 0)</td> 
        <td><input type="text" value="" reg="int+0" check></td> 
        <td><input type="text" value="" reg="int+0"></td> 
    </tr> 
    <tr> 
        <td>正整数</td> 
        <td><input type="text" value="" reg="int+" check></td> 
        <td><input type="text" value="" reg="int+"></td> 
    </tr> 
    <tr> 
        <td>非正整数(负整数 + 0)</td> 
        <td><input type="text" value="" reg="int-0" check></td> 
        <td><input type="text" value="" reg="int-0"></td> 
    </tr> 
    <tr> 
        <td>负整数</td> 
        <td><input type="text" value="" reg="int-" check></td> 
        <td><input type="text" value="" reg="int-"></td> 
    </tr> 
    <tr> 
        <td>整数</td> 
        <td><input type="text" value="" reg="int" check></td> 
        <td><input type="text" value="" reg="int"></td> 
    </tr> 
    <tr> 
        <td>非负浮点数(正浮点数 + 0)</td> 
        <td><input type="text" value="" reg="double+0" check></td> 
        <td><input type="text" value="" reg="double+0"></td> 
    </tr> 
    <tr> 
        <td>正浮点数</td> 
        <td><input type="text" value="" reg="double+" check></td> 
        <td><input type="text" value="" reg="double+"></td> 
    </tr> 
    <tr> 
        <td>非正浮点数(负浮点数 + 0)</td> 
        <td><input type="text" value="" reg="double-0" check></td> 
        <td><input type="text" value="" reg="double-0"></td> 
    </tr> 
    <tr> 
        <td>负浮点数</td> 
        <td><input type="text" value="" reg="double-" check></td> 
        <td><input type="text" value="" reg="double-"></td> 
    </tr> 
    <tr> 
        <td>浮点数</td> 
        <td><input type="text" value="" reg="double" check></td> 
        <td><input type="text" value="" reg="double"></td> 
    </tr> 
    <tr> 
        <td>由26个英文字母组成的字符串</td> 
        <td><input type="text" value="" reg="char" check></td> 
        <td><input type="text" value="" reg="char"></td> 
    </tr> 
    <tr> 
        <td>由26个英文字母的大写组成的字符串(输入小写字母会自动转换成大写)</td> 
        <td><input type="text" value="" reg="upperchar" check upper></td> 
        <td><input type="text" value="" reg="upperchar" upper></td> 
    </tr> 
    <tr> 
        <td>由26个英文字母的小写组成的字符串(输入大写字母会自动转换成小写)</td> 
        <td><input type="text" value="" reg="lowerchar" check lower></td> 
        <td><input type="text" value="" reg="lowerchar" lower></td> 
    </tr> 
    <tr> 
        <td>由数字和26个英文字母组成的字符串</td> 
        <td><input type="text" value="" reg="digitchar" check></td> 
        <td><input type="text" value="" reg="digitchar"></td> 
    </tr> 
    <tr> 
        <td>由数字、26个英文字母或者下划线组成的字符串</td> 
        <td><input type="text" value="" reg="digitchar_" check></td> 
        <td><input type="text" value="" reg="digitchar_"></td> 
    </tr> 
    <tr> 
        <td>email地址</td> 
        <td><input type="text" value="" reg="email" check></td> 
        <td><input type="text" value="" reg="email"></td> 
    </tr> 
    <tr> 
        <td>url</td> 
        <td><input type="text" value="" reg="url" check></td> 
        <td><input type="text" value="" reg="url"></td> 
    </tr> 
    <tr> 
        <td>自定义规则(只能输入"aaa"),自定义报错信息</td> 
        <td><input type="text" value="" reg="^aaa$" regcheck="^a{1,3}$" msg="只能输入aaa" check></td> 
        <td><input type="text" value="" reg="^aaa$" regcheck="^a{1,3}$" msg="只能输入aaa"></td> 
    </tr> 
</table> 
<hr width="50%" style="color: #FF0000"> 
<div style="text-align:center;font-size:9pt">copyright 2004 © 海洋工作室(<a href="mailto:ocean@forever.net.cn">ocean@forever.net.cn</a>)</div> 
<p> </p> 
<p> </p> 
<p> </p> 
<p> </p> 
</body> 
</html>


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。

您可能感兴趣的文章 :

原文链接 : https://www.jb51.net/list/index_96.htm
相关文章
  • Python3访问MySQL数据库的实现步骤
    要实现一个简单的IM(即时通讯)系统,支持用户注册、登录和聊天记录存储,你可以使用Python和mysql数据库。以下是一个基本的实现示例:
  • Python中的"没有那个文件"错误(FileNotFoundError)的
    在Python编程中,遇到没有那个文件错误(FileNotFoundError)是常见的问题之一。这个错误通常发生在尝试访问一个不存在的文件或目录时,导致
  • python清理pip包管理器

    python清理pip包管理器
    在 Python 开发中,pip 是最常用的包管理工具。随着项目的不断发展,开发者往往会在环境中安装大量的依赖包。随着时间的推移,这些包可
  • Python怎么获取HTTP请求的Response Body
    在Python中进行网络编程和Web开发时,经常需要发送HTTP请求并处理服务器返回的响应。其中,获取响应体(Response Body)是常见的需求之一。本
  • Python字符串检索方式的介绍

    Python字符串检索方式的介绍
    字符串查找方法主要有以下几种: 1.count() 用于检索指定字符串在另一个字符串中出现的次数。 如果检索的字符串不存在,则返回0,否则
  • 利用python调整Excel行高和列宽的操作

    利用python调整Excel行高和列宽的操作
    在Excel中,默认的行高和列宽可能不足以完全显示某些单元格中的内容,特别是当内容较长时。通过调整行高和列宽,可以确保所有数据都能
  • Python和Plotly实现3D图形绘制
    在当今的数据分析和可视化领域,Python已经成为一种不可或缺的工具。其强大的数据处理能力和丰富的可视化库使得数据科学家和工程师们
  • Python默认参数的使用机制介绍
    Python中,函数的默认参数是一种简化函数调用并增强灵活性的机制。默认参数允许我们在函数定义时为某些参数指定默认值,这样在调用函
  • 使用Python创建自助抢单插件
    在数字化时代,电子商务的迅猛发展使得消费者能够轻松地在线购买商品和服务。然而,随着竞争的加剧,许多热门商品和限量版商品在发
  • python实现图像的随机增强变换
    从文件夹中随机选择一定数量的图像,然后对每个选定的图像进行一次随机的数据增强变换。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计