佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > 用htc實(shí)現(xiàn)驗(yàn)證模塊

用htc實(shí)現(xiàn)驗(yàn)證模塊

熱門標(biāo)簽:服務(wù)器配置 美圖手機(jī) 呼叫中心市場(chǎng)需求 檢查注冊(cè)表項(xiàng) 銀行業(yè)務(wù) 網(wǎng)站文章發(fā)布 鐵路電話系統(tǒng) 智能手機(jī)
復(fù)制代碼 代碼如下:

/***************************************************************************************
 *                                   validate1.0
 *     此代碼版權(quán)歸海洋工作室ocean所有,您可以非商業(yè)目的使用、復(fù)制、修改此代碼,但需要
 * 保留本工作室的版權(quán)信息。如果您使用、修改此代碼為商業(yè)目的,請(qǐng)聯(lián)系本工作室取得使用許可。
 *
 * 如果您對(duì)本程序有什么建議,請(qǐng)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()" />
//失去焦點(diǎn)事件
PUBLIC:ATTACH EVENT="onblur" ONEVENT="doEvent()" />
SCRIPT LANGUAGE="JScript">
//預(yù)定義的檢查模式
var regArray = new Array(
    new Array("int+0","^\\d+$","","需要輸入一個(gè)非負(fù)整數(shù),請(qǐng)重新檢查"),    //非負(fù)整數(shù)(正整數(shù) + 0)
    new Array("int+","^[0-9]*[1-9][0-9]*$","^\\d+$","需要輸入一個(gè)正整數(shù),請(qǐng)重新檢查"),        //正整數(shù)
    new Array("int-0","^((-\\d+)|(0+))$","^(-|(-\\d+)|(0+))$","需要輸入一個(gè)非正整數(shù),請(qǐng)重新檢查"),    //非正整數(shù)(負(fù)整數(shù) + 0)
    new Array("int-","^-[0-9]*[1-9][0-9]*$","^(-|(-\\d+)|(0+))$","需要輸入一個(gè)負(fù)整數(shù),請(qǐng)重新檢查"),    //負(fù)整數(shù)
    new Array("int","^-?\\d+$","^-|(-?\\d+)$","需要輸入一個(gè)整數(shù),請(qǐng)重新檢查"),            //整數(shù)
    new Array("double+0","^\\d+(\\.\\d+)?$","^((\\d+\\.)|(\\d+(\\.\\d+)?))$","需要輸入一個(gè)非負(fù)浮點(diǎn)數(shù),請(qǐng)重新檢查"),    //非負(fù)浮點(diǎn)數(shù)(正浮點(diǎn)數(shù) + 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+)?))$","需要輸入一個(gè)正浮點(diǎn)數(shù),請(qǐng)重新檢查"),        //正浮點(diǎn)數(shù)
    new Array("double-0","^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$","^(-|(-\\d+\\.)|(0+\\.)|(-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$","需要輸入一個(gè)非正浮點(diǎn)數(shù),請(qǐng)重新檢查"),    //非正浮點(diǎn)數(shù)(負(fù)浮點(diǎn)數(shù) + 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+))$","需要輸入一個(gè)負(fù)浮點(diǎn)數(shù),請(qǐng)重新檢查"),        //負(fù)浮點(diǎn)數(shù)
    new Array("double","^(-?\\d+)(\\.\\d+)?$","^(-|((-?\\d+)(\\.\\d+)?)|(-?\\d+)\\.)$","需要輸入一個(gè)浮點(diǎn)數(shù),請(qǐng)重新檢查"),        //浮點(diǎn)數(shù)
    new Array("char","^[A-Za-z]+$","","您只能輸入英文字母,請(qǐng)重新檢查"),        //由26個(gè)英文字母組成的字符串
    new Array("upperchar","^[A-Z]+$","","您只能輸入英文大寫字母,請(qǐng)重新檢查"),    //由26個(gè)英文字母的大寫組成的字符串
    new Array("lowerchar","^[a-z]+$","","您只能輸入英文小寫字母,請(qǐng)重新檢查"),    //由26個(gè)英文字母的小寫組成的字符串
    new Array("digitchar","^[A-Za-z0-9]+$","","您只能輸入數(shù)字和英文字母,請(qǐng)重新檢查"),    //由數(shù)字和26個(gè)英文字母組成的字符串
    new Array("digitchar_","^\\w+$","","您只能輸入數(shù)字、英文字母和下劃線,請(qǐng)重新檢查"),    //由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串
    new Array("email","^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$","^(([\\w-]+(\\.[\\w-]+)*@?)|([\\w-]+(\\.[\\w-]+)*@[\\w-]+)|([\\w-]+(\\.[\\w-]+)*@([\\w-]+\\.)+)|([\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+))$","需要輸入正確的email地址,請(qǐng)重新檢查"),        //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地址,請(qǐng)重新檢查")            //url
);
//受控元素默認(rèn)的事件處理程序
function doEvent() {
    //得到觸發(fā)事件的類型
    var type = window.event.type;
    //得到觸發(fā)元素的值。
    var value = window.event.srcElement.value;
    if (type == "keypress") {    //如果是鍵盤按下事件,得到鍵盤按下后的值
        var keyCode = window.event.keyCode;
        if (typeof(window.event.srcElement.upper) != "undefined") {    //如果定義了轉(zhuǎn)換大寫
            if (keyCode >= 97  keyCode = 122)
                keyCode = window.event.keyCode = keyCode - 32;
        }
        else if (typeof(window.event.srcElement.lower) != "undefined") {    //如果定義了轉(zhuǎn)換小寫
            if (keyCode >= 65  keyCode = 90)
                keyCode = window.event.keyCode = keyCode + 32;
        }
        value += String.fromCharCode(keyCode);
    }
    else if (type == "paste") {
        value += window.clipboardData.getData("Text");
    }
    //如果觸發(fā)元素的值為空,則表示用戶沒(méi)有輸入,不接受檢查。
    if (value == "") return;
    //如果觸發(fā)元素沒(méi)有設(shè)置reg屬性,則返回不進(jìn)行任何檢查。
    if (typeof(window.event.srcElement.reg) == "undefined") return;
    //如果觸發(fā)元素沒(méi)有定義check屬性,則在按鍵和粘貼事件中不做檢查
    if ((type == "keypress" || type == "paste")  typeof(window.event.srcElement.check) == "undefined") return;
    //如果沒(méi)有通過(guò)檢查模式,出現(xiàn)的錯(cuò)誤信息
    var msg = "";
    //得到檢查模式
    var reg = window.event.srcElement.reg;
    //正則表達(dá)式對(duì)象
    var regExp = null;
    //從預(yù)定義的檢查模式中查找正則表達(dá)式對(duì)象
    for (var i=0;iregArray.length;i++) {
        if (regArray[i][0] == reg) {
            if ((type == "keypress" || type == "paste")  regArray[i][2] != "")
                regExp = new RegExp(regArray[i][2]);    //查找到預(yù)定義的檢查模式
            else
                regExp = new RegExp(regArray[i][1]);    //查找到預(yù)定義的檢查模式
            msg = regArray[i][3];                    //定義預(yù)定義的報(bào)錯(cuò)信息
            break;    //查找成功,退出循環(huán)
        }
    }
    if (regExp == null) {    //如果沒(méi)有查找到預(yù)定義的檢查模式,說(shuō)明reg本身就為正則表達(dá)式對(duì)象。
        if ((type == "keypress" || type == "paste")  typeof(window.event.srcElement.regcheck) != "undefined")
            regExp = new RegExp(window.event.srcElement.regcheck);    //按照用戶自定義的正則表達(dá)式生成正則表達(dá)式對(duì)象。
        else
            regExp = new RegExp(reg);    //按照用戶自定義的正則表達(dá)式生成正則表達(dá)式對(duì)象。
        msg = "輸入錯(cuò)誤,請(qǐng)重新檢查";        //錯(cuò)誤信息
    }
    //檢查觸發(fā)元素的值符合檢查模式,直接返回。
    if (regExp.test(value)) return;

    if (type == "blur") {    //如果是失去焦點(diǎn)并且檢查不通過(guò),則需要出現(xiàn)錯(cuò)誤警告框。
        //判斷用戶是否自己定義了錯(cuò)誤信息
        if (typeof(window.event.srcElement.msg) != "undefined")
            msg = window.event.srcElement.msg;
        //顯示錯(cuò)誤信息
        alert(msg);
        //將焦點(diǎn)重新聚回觸發(fā)元素
        window.event.srcElement.focus();
        window.event.srcElement.select();
    }
    else {    //如果是鍵盤按下或者粘貼事件并且檢查不通過(guò),則取消默認(rèn)動(dòng)作。
        //取消此次鍵盤按下或者粘貼操作
        window.event.returnValue = false;
    }
}
/SCRIPT>

應(yīng)用例子:
復(fù)制代碼 代碼如下:

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>驗(yàn)證規(guī)則/td>
        td>實(shí)時(shí)檢測(cè)/td>
        td>失去焦點(diǎn)時(shí)檢測(cè)/td>
    /tr>
    tr>
        td>非負(fù)整數(shù)(正整數(shù) + 0)/td>
        td>input type="text" value="" reg="int+0" check>/td>
        td>input type="text" value="" reg="int+0">/td>
    /tr>
    tr>
        td>正整數(shù)/td>
        td>input type="text" value="" reg="int+" check>/td>
        td>input type="text" value="" reg="int+">/td>
    /tr>
    tr>
        td>非正整數(shù)(負(fù)整數(shù) + 0)/td>
        td>input type="text" value="" reg="int-0" check>/td>
        td>input type="text" value="" reg="int-0">/td>
    /tr>
    tr>
        td>負(fù)整數(shù)/td>
        td>input type="text" value="" reg="int-" check>/td>
        td>input type="text" value="" reg="int-">/td>
    /tr>
    tr>
        td>整數(shù)/td>
        td>input type="text" value="" reg="int" check>/td>
        td>input type="text" value="" reg="int">/td>
    /tr>
    tr>
        td>非負(fù)浮點(diǎn)數(shù)(正浮點(diǎn)數(shù) + 0)/td>
        td>input type="text" value="" reg="double+0" check>/td>
        td>input type="text" value="" reg="double+0">/td>
    /tr>
    tr>
        td>正浮點(diǎn)數(shù)/td>
        td>input type="text" value="" reg="double+" check>/td>
        td>input type="text" value="" reg="double+">/td>
    /tr>
    tr>
        td>非正浮點(diǎn)數(shù)(負(fù)浮點(diǎn)數(shù) + 0)/td>
        td>input type="text" value="" reg="double-0" check>/td>
        td>input type="text" value="" reg="double-0">/td>
    /tr>
    tr>
        td>負(fù)浮點(diǎn)數(shù)/td>
        td>input type="text" value="" reg="double-" check>/td>
        td>input type="text" value="" reg="double-">/td>
    /tr>
    tr>
        td>浮點(diǎn)數(shù)/td>
        td>input type="text" value="" reg="double" check>/td>
        td>input type="text" value="" reg="double">/td>
    /tr>
    tr>
        td>由26個(gè)英文字母組成的字符串/td>
        td>input type="text" value="" reg="char" check>/td>
        td>input type="text" value="" reg="char">/td>
    /tr>
    tr>
        td>由26個(gè)英文字母的大寫組成的字符串(輸入小寫字母會(huì)自動(dòng)轉(zhuǎn)換成大寫)/td>
        td>input type="text" value="" reg="upperchar" check upper>/td>
        td>input type="text" value="" reg="upperchar" upper>/td>
    /tr>
    tr>
        td>由26個(gè)英文字母的小寫組成的字符串(輸入大寫字母會(huì)自動(dòng)轉(zhuǎn)換成小寫)/td>
        td>input type="text" value="" reg="lowerchar" check lower>/td>
        td>input type="text" value="" reg="lowerchar" lower>/td>
    /tr>
    tr>
        td>由數(shù)字和26個(gè)英文字母組成的字符串/td>
        td>input type="text" value="" reg="digitchar" check>/td>
        td>input type="text" value="" reg="digitchar">/td>
    /tr>
    tr>
        td>由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串/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>自定義規(guī)則(只能輸入"aaa"),自定義報(bào)錯(cuò)信息/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 copy 海洋工作室(a href="mailto:ocean@forever.net.cn">ocean@forever.net.cn/a>)/div>
p>nbsp;/p>
p>nbsp;/p>
p>nbsp;/p>
p>nbsp;/p>
/body>
/html>

標(biāo)簽:河南 紅河 上海 滄州 樂(lè)山 長(zhǎng)治 沈陽(yáng) 新疆

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《用htc實(shí)現(xiàn)驗(yàn)證模塊》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    桂林市| 民丰县| 得荣县| 湾仔区| 山阳县| 临武县| 德昌县| 太湖县| 普兰县| 梁平县| 苍梧县| 彭水| 汶上县| 馆陶县| 溆浦县| 大同县| 安图县| 井研县| 东乌珠穆沁旗| 石阡县| 巴彦淖尔市| 宜黄县| 改则县| 长阳| 灌阳县| 万盛区| 宁南县| 南阳市| 五莲县| 崇左市| 博兴县| 延寿县| 鹤岗市| 临夏县| 鄂州市| 南通市| 西乌珠穆沁旗| 延边| 公主岭市| 罗山县| 布拖县|