爱开发联盟是国内专业的网站建设资源、脚本编程学习类网站,提供asp、php、asp.net、javascript、jquery、vbscript、dos批处理、网页制作、网络编程、网站建设等编程资料。让开发变得简单起来!
爱开发联盟是国内专业的网站建设资源、脚本编程学习类网站,提供asp、php、asp.net、javascript、jquery、vbscript、dos批处理、网页制作、网络编程、网站建设等编程资料。让开发变得简单起来!
当前所在位置:主页 > 脚本 > HTC >
  • 魔艺客提供SEO\SEM推广整合营销服务
  • 提供整套互联网营销整合方案-魔艺客
  • 魔艺客高端网站建设开发服务十一大优惠服务
  • 资深的网站建设开发经验,一对一服务-魔艺客高
  • 一站式服务,从服务器到网站,三站何以尽在魔
爱开发联盟是国内专业的网站建设资源、脚本编程学习类网站,提供asp、php、asp.net、javascript、jquery、vbscript、dos批处理、网页制作、网络编程、网站建设等编程资料。让开发变得简单起来!

用htc实现验证模块

发布时间:2017-09-07 16:14    作者:爱开发联盟    浏览:次    来源:aikaifa.com.cn 分享:

代码如下:

/***************************************************************************************
 *                                   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>

网友评论

分类排行榜联系我们

好文推荐联系我们

爱开发联盟是国内专业的网站建设资源、脚本编程学习类网站,提供asp、php、asp.net、javascript、jquery、vbscript、dos批处理、网页制作、网络编程、网站建设等编程资料。让开发变得简单起来!
爱开发联盟是国内专业的网站建设资源、脚本编程学习类网站,提供asp、php、asp.net、javascript、jquery、vbscript、dos批处理、网页制作、网络编程、网站建设等编程资料。让开发变得简单起来!

当前最新内容联系我们

爱开发联盟是国内专业的网站建设资源、脚本编程学习类网站,提供asp、php、asp.net、javascript、jquery、vbscript、dos批处理、网页制作、网络编程、网站建设等编程资料。让开发变得简单起来!

在线手册

网站地图导航

前端 HTML/Xhtml HTML5 CSS XML/XSLT Dreamweaver教程 Frontpage教程 心得技巧 编程 JavaScript ASP.NET PHP编程 正则表达式 AJAX相关 ASP编程 JSP编程 Flex 脚本加解密 web2.0 XML/RSS 网页编辑器 相关技巧 安全相关 网页播放器 Dart 其它综合 脚本 VBS DOS/BAT HTA HTC Python perl 游戏相关 vba 远程脚本 ColdFusion ruby专题 autoit seraphzone PowerShell linux shell Lua Golang Erlang 脚本下载 广告代码 js框架 批处理 网页相关 源码下载 数据库 MsSql Mysql mariadb oracle DB2 mssql2008 mssql2005 SQLite PostgreSQL MongoDB Redis Access 数据库文摘 数据库其它 CMS dedecms ecshop z-blog UcHome UCenter 风讯CMS 科汛cms discuz 新云cms phpwind 动易cms phpcms 帝国cms WordPress drupal 其它cms 设计 photoshop教程 摄影教程 Fireworks教程 CorelDraw教程 Illustrator教程 Painter教程 Freehand教程 Indesign 设计素材 平面其它 微信相关 微信公众号 小程序 操作系统 bios 系统安装 系统进程 Windows系列 LINUX RedHat/Centos Ubuntu/Debian Fedora Solaris 麒麟系统 红旗Linux Unix/BSD 苹果MAC 注册表 其它系统 网站运营 建站经验 微信营销 网站优化 网站策划 网络赚钱 网络创业 站长故事 alexa域名 其它相关 网络安全 黑客教程 安全设置 杀毒防毒 病毒查杀 脚本攻防 黑客入侵 工具使用 业界动态 Exploit 漏洞分析 加密解密 手机黑客 安全其它 在线手册 网页制作 脚本编程 数据库相关 软件编程 系统相关 其它相关 源码下载

友情链接申请加入

51CTO 上海魔艺客 猫鼬设计开发 Erlo网站开发 猫鼬设计工作室 新发现全球资讯 信息安全与IT资讯
爱开发联盟是国内专业的网站建设资源、脚本编程学习类网站,提供asp、php、asp.net、javascript、jquery、vbscript、dos批处理、网页制作、网络编程、网站建设等编程资料。让开发变得简单起来!

283882409