麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > HTC > 正文

用htc實現驗證模塊

2020-01-31 16:06:22
字體:
來源:轉載
供稿:網友
復制代碼 代碼如下:

/***************************************************************************************
 *                                   validate1.0
 *     此代碼版權歸海洋工作室ocean所有,您可以非商業目的使用、復制、修改此代碼,但需要
 * 保留本工作室的版權信息。如果您使用、修改此代碼為商業目的,請聯系本工作室取得使用許可。
 *
 * 如果您對本程序有什么建議,請email to:[email protected]
 *
 *                                                                          海洋工作室
 *                                                          http://www.oceanstudio.net
 *                                                     ocean([email protected]) 制作
 *****************************************************************************************/
//鍵盤事件
<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 ></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:[email protected]">[email protected]</a>)</div>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</body>
</html>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 国产一精品一av一免费爽爽 | 国语自产免费精品视频在 | 国产中出在线观看 | 最新久久免费视频 | 欧美亚洲综合在线 | 毛片视频观看 | 国产精品久久久久久久久久10秀 | 亚洲自拍第二页 | 日日草夜夜| a级黄色片视频 | 久久久久av电影 | 久久久成人精品视频 | 精品影视一区二区 | 日韩做爰视频免费 | 国产一区二区精品在线观看 | 日本在线高清 | 中文字幕亚洲欧美 | 色999久久久精品人人澡69 | 久色porn| 日本在线不卡免费 | 国产亚洲精品久久久久婷婷瑜伽 | 激情视频在线播放 | 中国hdxxxx护士爽在线观看 | 色就操 | 黑人一级片视频 | 欧美亚洲一区二区三区四区 | 国产精品久久久久久久久久10秀 | 欧美 日韩 亚洲 中文 | 在线播放中文 | av一道本| 久久久线视频 | 伦一区二区三区中文字幕v亚洲 | 中文字幕一区2区 | 久久久久亚洲美女啪啪 | 国产成人免费精品 | 日本高清无遮挡 | 成人福利在线视频 | 成人毛片网 | 国产精品999在线观看 | 国产成人综合在线观看 | 视频www|