js版 软键盘输入小例子

新建一个html网页文件,用文本编辑工具打开,将下面的大段代码拷进去,保存。用浏览器打开,点击输入框就能看到效果了!!

 


<html>
    <head>
        <title>登录</title>
        <meta http-equiv="Content-Type" content="text/html; charset=gbk">
        <style type="text/css">
        <!-- .STYLE1 {
            color: #FF0000;
            font-weight: bold;
        }
        -->
        </style>
         <script type="text/javascript" src="js/prototype-1.6.0.3.js"></script>
        <script type="text/javascript">
            <!--
           
            function checkspace(checkstr){
                var str = '';
                for (i = 0; i < checkstr.length; i++) {
                    str = str + ' ';
                }
                return (str == checkstr);
            }
           
            function check(){
                document.admininfo.submit();
            }
           
            //定义当前是否大写的状态
            window.onload = function(){
                inputValue1 = null;
                initCalc();
            }
            var CapsLockValue = 0;
            var check;
            function setVariables(){
                tablewidth = 630; // logo width, in pixels
                tableheight = 20; // logo height, in pixels
                if (navigator.appName == "Netscape") {
                    horz = ".left";
                    vert = ".top";
                    docStyle = "document.";
                    styleDoc = "";
                    innerW = "window.innerWidth";
                    innerH = "window.innerHeight";
                    offsetX = "window.pageXOffset";
                    offsetY = "window.pageYOffset";
                }
                else {
                    horz = ".pixelLeft";
                    vert = ".pixelTop";
                    docStyle = "";
                    styleDoc = ".style";
                    innerW = "document.body.clientWidth";
                    innerH = "document.body.clientHeight";
                    offsetX = "document.body.scrollLeft";
                    offsetY = "document.body.scrollTop";
                }
            }
           
            function checkLocation(){
                if (check) {
                    objectXY = "softkeyboard";
                    var availableX = eval(innerW);
                    var availableY = eval(innerH);
                    var currentX = eval(offsetX);
                    var currentY = eval(offsetY);
                    x = availableX - tablewidth + currentX;
                    //y=availableY-tableheight+currentY;
                    y = currentY;
                    evalMove();
                }
                setTimeout("checkLocation()", 0);
            }
           
            function evalMove(){
                eval(docStyle + objectXY + styleDoc + vert + "=" + y);
            }
           
            self.onError = null;
            currentX = currentY = 0;
            whichIt = null;
            lastScrollX = 0;
            lastScrollY = 0;
            NS = (document.layers) ? 1 : 0;
            IE = (document.all) ? 1 : 0;
            function heartBeat(){
                if (IE) {
                    diffY = document.body.scrollTop;
                    diffX = document.body.scrollLeft;
                }
                if (NS) {
                    diffY = self.pageYOffset;
                    diffX = self.pageXOffset;
                }
                if (diffY != lastScrollY) {
                    percent = .1 * (diffY - lastScrollY);
                    if (percent > 0)
                        percent = Math.ceil(percent);
                    else
                        percent = Math.floor(percent);
                    if (IE)
                        document.all.softkeyboard.style.pixelTop += percent;
                    if (NS)
                        document.softkeyboard.top += percent;
                    lastScrollY = lastScrollY + percent;
                }
                if (diffX != lastScrollX) {
                    percent = .1 * (diffX - lastScrollX);
                    if (percent > 0)
                        percent = Math.ceil(percent);
                    else
                        percent = Math.floor(percent);
                    if (IE)
                        document.all.softkeyboard.style.pixelLeft += percent;
                    if (NS)
                        document.softkeyboard.left += percent;
                    lastScrollX = lastScrollX + percent;
                }
            }
           
            function checkFocus(x, y){
                stalkerx = document.softkeyboard.pageX;
                stalkery = document.softkeyboard.pageY;
                stalkerwidth = document.softkeyboard.clip.width;
                stalkerheight = document.softkeyboard.clip.height;
                if ((x > stalkerx && x < (stalkerx + stalkerwidth)) && (y > stalkery && y < (stalkery + stalkerheight)))
                    return true;
                else
                    return false;
            }
           
            function grabIt(e){
                check = false;
                if (IE) {
                    whichIt = event.srcElement;
                    while (whichIt.id.indexOf("softkeyboard") == -1) {
                        whichIt = whichIt.parentElement;
                        if (whichIt == null) {
                            return true;
                        }
                    }
                    whichIt.style.pixelLeft = whichIt.offsetLeft;
                    whichIt.style.pixelTop = whichIt.offsetTop;
                    currentX = (event.clientX + document.body.scrollLeft);
                    currentY = (event.clientY + document.body.scrollTop);
                }
                else {
                    window.captureEvents(Event.MOUSEMOVE);
                    if (checkFocus(e.pageX, e.pageY)) {
                        whichIt = document.softkeyboard;
                        StalkerTouchedX = e.pageX - document.softkeyboard.pageX;
                        StalkerTouchedY = e.pageY - document.softkeyboard.pageY;
                    }
                }
                return true;
            }
           
            function moveIt(e){
                if (whichIt == null) {
                    return false;
                }
                if (IE) {
                    newX = (event.clientX + document.body.scrollLeft);
                    newY = (event.clientY + document.body.scrollTop);
                    distanceX = (newX - currentX);
                    distanceY = (newY - currentY);
                    currentX = newX;
                    currentY = newY;
                    whichIt.style.pixelLeft += distanceX;
                    whichIt.style.pixelTop += distanceY;
                    if (whichIt.style.pixelTop < document.body.scrollTop)
                        whichIt.style.pixelTop = document.body.scrollTop;
                    if (whichIt.style.pixelLeft < document.body.scrollLeft)
                        whichIt.style.pixelLeft = document.body.scrollLeft;
                    if (whichIt.style.pixelLeft > document.body.offsetWidth - document.body.scrollLeft - whichIt.style.pixelWidth - 20)
                        whichIt.style.pixelLeft = document.body.offsetWidth - whichIt.style.pixelWidth - 20;
                    if (whichIt.style.pixelTop > document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5)
                        whichIt.style.pixelTop = document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5;
                    event.returnValue = false;
                }
                else {
                    whichIt.moveTo(e.pageX - StalkerTouchedX, e.pageY - StalkerTouchedY);
                    if (whichIt.left < 0 + self.pageXOffset)
                        whichIt.left = 0 + self.pageXOffset;
                    if (whichIt.top < 0 + self.pageYOffset)
                        whichIt.top = 0 + self.pageYOffset;
                    if ((whichIt.left + whichIt.clip.width) >= (window.innerWidth + self.pageXOffset - 17))
                        whichIt.left = ((window.innerWidth + self.pageXOffset) - whichIt.clip.width) - 17;
                    if ((whichIt.top + whichIt.clip.height) >= (window.innerHeight + self.pageYOffset - 17))
                        whichIt.top = ((window.innerHeight + self.pageYOffset) - whichIt.clip.height) - 17;
                    return false;
                }
                return false;
            }
           
            function dropIt(){
                whichIt = null;
                if (NS)
                    window.releaseEvents(Event.MOUSEMOVE);
                return true;
            }
           
            if (NS) {
                window.captureEvents(Event.MOUSEUP | Event.MOUSEDOWN);
                window.onmousedown = grabIt;
                window.onmousemove = moveIt;
                window.onmouseup = dropIt;
            }
            if (IE) {
                document.onmousedown = grabIt;
                document.onmousemove = moveIt;
                document.onmouseup = dropIt;
            }
            // if(NS || IE) action = window.setInterval("heartBeat()",1);
            document.write("<DIV align=center id=/"softkeyboard/" name=/"softkeyboard/" style=/"position:absolute; left:0px; top:0px; width:500px; z-index:180;display:none/">  ");
            document.write("<table id=/"CalcTable/" width=/"/" border=/"0/" align=/"center/" cellpadding=/"0/" cellspacing=/"0/" bgcolor=/"/"> ");
            document.write("<FORM id='Calc' name='Calc' action=/"/" method=post autocomplete=/"off/">");
            document.write("<tr>");
            document.write("<td title=/"为了保证后台登陆安全,建议使用密码输入器输入密码!/" align=/"right/" valign=/"middle/" bgcolor=/"/" style=/"cursor: default;height:30/">");
            document.write("<INPUT type=hidden value=/"/" name='inputValue'>");
            document.write("<INPUT type=hidden value=ok name=action2>");
            document.write("&nbsp&nbsp;&nbsp;密码输入器&nbsp&nbsp&nbsp&nbsp&nbsp;&nbsp;&nbsp&nbsp;&nbsp;&nbsp&nbsp;&nbsp;&nbsp&nbsp;&nbsp;&nbsp&nbsp;&nbsp;&nbsp&nbsp;&nbsp&nbsp;");
            document.write("<INPUT style=/"width:100px;height:20px;background-color:#54BAF1;/" type=button value=/"使用键盘输入/" bgtype=/"1/" οnclick=/"inputValue1.readOnly=0;inputValue1.focus();softkeyboard.style.display='none';inputValue1.value='';/">");
           
            document.write("<span style=/"width:2px;/"></span>");
            document.write("</td></tr>");
            document.write("<tr align=/"center/">");
            document.write("<td align=/"center/" bgcolor=/"#FFFFFF/">");
            document.write("<table align=/"center/" width=/"%/" border=/"0/" cellspacing=/"1/" cellpadding=/"0/">/n");
            document.write("<tr align=/"left/" valign=/"middle/"> /n");
            document.write("<td>");
            document.write("<input type=button value=/" ~ /"></td>/n");
            document.write("<td> <input type=button value=/" ! /"></td>/n");
            document.write("<td> <input type=button  value=/" @ /"></td>/n");
            document.write("<td> <input type=button value=/" # /"></td>/n");
            document.write("<td> <input type=button value=/" $ /"></td>/n");
            document.write("<td> <input type=button value=/" % /"></td>/n");
            document.write("<td> <input type=button value=/" ^ /"></td>/n");
            document.write("<td> <input type=button value=/" & /"></td>/n");
            document.write("<td> <input type=button value=/" * /"></td>/n");
            document.write("<td> <input type=button value=/" ( /"></td>/n");
            document.write("<td> <input type=button value=/" ) /"></td>/n");
            document.write("<td> <input type=button value=/" _ /"></td>/n");
            document.write("<td> <input type=button value=/" + /"></td>/n");
            document.write("<td> <input type=button value=/" | /"></td>/n");
            document.write("<td colspan=/"1/" rowspan=/"2/">");
            document.write("<input name=/"button10/" type=button value=/" 退格/" οnclick=/"setpassvalue();/"  onDblClick=/"setpassvalue();/" style=/"width:100px;height:42px/"> /n");
            document.write("</td>/n");
            document.write("</tr>/n");
            document.write("<tr align=/"left/" valign=/"middle/"> /n");
            document.write("<td> <input type=button value=/" ` /"></td>/n");
            document.write("<td> <input type=button name='button_num1' value=/" 1 /"></td>/n");
            document.write("<td> <input type=button name='button_num2' value=/" 2 /"></td>/n");
            document.write("<td> <input type=button name='button_num3' value=/" 3 /"></td>/n");
            document.write("<td> <input type=button name='button_num4' value=/" 4 /"></td>/n");
            document.write("<td> <input type=button name='button_num5' value=/" 5 /"></td>/n");
            document.write("<td> <input type=button name='button_num6' value=/" 6 /"></td>/n");
            document.write("<td> <input type=button name='button_num7' value=/" 7 /"></td>/n");
            document.write("<td> <input type=button name='button_num8' value=/" 8 /"></td>/n");
            document.write("<td> <input type=button name='button_num9' value=/" 9 /"></td>/n");
            document.write("<td> <input type=button name='button_num0' value=/" 0 /"></td>/n");
            document.write("<td> <input type=button value=/" - /"></td>/n");
            document.write("<td> <input type=button value=/" = /"></td>/n");
            document.write("<td> <input type=button value=/" // /"></td>/n");
            document.write("<td> </td>/n");
            document.write("</tr>/n");
            document.write("<tr align=/"left/" valign=/"middle/"> /n");
            document.write("<td> <input type=button value=/" q /"></td>/n");
            document.write("<td> <input type=button value=/" w /"></td>/n");
            document.write("<td> <input type=button value=/" e /"></td>/n");
            document.write("<td> <input type=button value=/" r /"></td>/n");
            document.write("<td> <input type=button value=/" t /"></td>/n");
            document.write("<td> <input type=button value=/" y /"></td>/n");
            document.write("<td> <input type=button value=/" u /"></td>/n");
            document.write("<td> <input type=button value=/" i /"></td>/n");
            document.write("<td> <input type=button value=/" o /"></td>/n");
            document.write("<td> <input name=/"button8/" type=button value=/" p /"></td>/n");
            document.write("<td> <input name=/"button9/" type=button value=/" { /"></td>/n");
            document.write("<td> <input type=button value=/" } /"></td>/n");
            document.write("<td> <input type=button value=/" [ /"></td>/n");
            document.write("<td> <input type=button value=/" ] /"></td>/n");
            document.write("<td><input name=/"button9/" type=button onClick=/"capsLockText();setCapsLock();/"  onDblClick=/"capsLockText();setCapsLock();/" value=/"切换大/小写/" style=/"width:100px;/"></td>/n");
            document.write("</tr>/n");
            document.write("<tr align=/"left/" valign=/"middle/"> /n");
            document.write("<td> <input type=button value=/" a /"></td>/n");
            document.write("<td> <input type=button value=/" s /"></td>/n");
            document.write("<td> <input type=button value=/" d /"></td>/n");
            document.write("<td> <input type=button value=/" f /"></td>/n");
            document.write("<td> <input type=button value=/" g /"></td>/n");
            document.write("<td> <input type=button value=/" h /"></td>/n");
            document.write("<td> <input type=button value=/" j /"></td>/n");
            document.write("<td> <input name=/"button3/" type=button value=/" k /"></td>/n");
            document.write("<td> <input name=/"button4/" type=button value=/" l /"></td>/n");
            document.write("<td> <input name=/"button5/" type=button value=/" : /"></td>/n");
            document.write("<td> <input name=/"button7/" type=button value=/" &quot; /"></td>/n");
            document.write("<td> <input type=button value=/" ; /"></td>/n");
            document.write("<td> <input type=button value=/" ' /"></td>/n");
            document.write("<td rowspan=/"2/" colspan=/"2/"> <input name=/"button12/" type=button οnclick=/"OverInput();/" value=/"   确定  /" style=/"width:130px;height:42/"></td>/n");
            document.write("</tr>/n");
            document.write("<tr align=/"left/" valign=/"middle/"> /n");
            document.write("<td> <input name=/"button2/" type=button value=/" z /"></td>/n");
            document.write("<td> <input type=button value=/" x /"></td>/n");
            document.write("<td> <input type=button value=/" c /"></td>/n");
            document.write("<td> <input type=button value=/" v /"></td>/n");
            document.write("<td> <input type=button value=/" b /"></td>/n");
            document.write("<td> <input type=button value=/" n /"></td>/n");
            document.write("<td> <input type=button value=/" m /"></td>/n");
            document.write("<td> <input type=button value=/" &lt; /"></td>/n");
            document.write("<td> <input type=button value=/" &gt; /"></td>/n");
            document.write("<td> <input type=button value=/" ? /"></td>/n");
            document.write("<td> <input type=button value=/" , /"></td>/n");
            document.write("<td> <input type=button value=/" . /"></td>/n");
            document.write("<td> <input type=button value=/" / /"></td>/n");
            document.write("</tr>/n");
            document.write("</table></td>");
            document.write("</FORM>");
            document.write("</tr>");
            document.write("</table></DIV>");
            //给输入的输入框添加新值
            function addValue(newValue){
                if (CapsLockValue == 0) {
                    var str = Calc.inputValue.value;
                    if (str.length < inputValue1.maxLength) {
                        Calc.inputValue.value += newValue;
                    }
                    if (str.length <= inputValue1.maxLength) {
                        inputValue1.value = Calc.inputValue.value;
                    }
                }
                else {
                    var str = Calc.inputValue.value;
                    if (str.length < inputValue1.maxLength) {
                        Calc.inputValue.value += newValue.toUpperCase();
                    }
                    if (str.length <= inputValue1.maxLength) {
                        inputValue1.value = Calc.inputValue.value;
                    }
                }
            }
           
            //实现BackSpace键的功能
            function setpassvalue(){
                var longnum = Calc.inputValue.value.length;
                var num;
                num = Calc.inputValue.value.substr(0, longnum - 1);
                Calc.inputValue.value = num;
                var str = Calc.inputValue.value;
                inputValue1.value = Calc.inputValue.value;
            }
           
            //输入完毕
            function OverInput(){
                var str = Calc.inputValue.value;
                inputValue1.value = Calc.inputValue.value;
                softkeyboard.style.display = "none";
                Calc.inputValue.value = "";
                inputValue1.readOnly = 1;
            }
           
            //关闭软键盘
            function closekeyboard(theForm){
                softkeyboard.style.display = "none";
            }
           
            //显示软键盘
            function showkeyboard(){
                if (event.y + 140)
                    softkeyboard.style.top = event.y + document.body.scrollTop + 15;
                if ((event.x - 250) > 0) {
                    softkeyboard.style.left = event.x - 250;
                }
                else {
                    softkeyboard.style.left = 0;
                }
               
                softkeyboard.style.display = "block";
                inputValue1.readOnly = 1;
                inputValue1.blur();
            }
           
            //设置是否大写的值
            function setCapsLock(){
                if (CapsLockValue == 0) {
                    CapsLockValue = 1;
                }
                else {
                    CapsLockValue = 0;
                }
            }
           
            function setCalcborder(){
                CalcTable.style.border = "1px solid #0090FD";
            }
           
            function setHead(){
                CalcTable.cells[0].style.backgroundColor = "#7EDEFF";
            }
           
            function setCalcButtonBg(){
                for (var i = 0; i < Calc.elements.length; i++) {
                    if (Calc.elements[i].type == "button" && Calc.elements[i].bgtype != "1") {
                        Calc.elements[i].style.borderTopWidth = 0
                        Calc.elements[i].style.borderRightWidth = 2
                        Calc.elements[i].style.borderBottomWidth = 2
                        Calc.elements[i].style.borderLeftWidth = 0
                        Calc.elements[i].style.borderTopStyle = "none";
                        Calc.elements[i].style.borderRightStyle = "solid";
                        Calc.elements[i].style.borderBottomStyle = "solid";
                        Calc.elements[i].style.borderLeftStyle = "none";
                        //#46AC17
                        Calc.elements[i].style.borderTopColor = "#118ACC";
                        Calc.elements[i].style.borderRightColor = "#118ACC";
                        Calc.elements[i].style.borderBottomColor = "#118ACC";
                        Calc.elements[i].style.borderLeftColor = "#118ACC";
                        //#CBF3B2
                        Calc.elements[i].style.backgroundColor = "#ADDEF8";
                       
                       
                        var str1 = Calc.elements[i].value;
                        str1 = str1.trim();
                        if (str1.length == 1) {
                        }
                       
                        var thisButtonValue = Calc.elements[i].value;
                        thisButtonValue = thisButtonValue.trim();
                        if (thisButtonValue.length == 1) {
                            Calc.elements[i].onclick = function(){
                                var thisButtonValue = this.value;
                                thisButtonValue = thisButtonValue.trim();
                                addValue(thisButtonValue);
                            }
                            Calc.elements[i].ondblclick = function(){
                                var thisButtonValue = this.value;
                                thisButtonValue = thisButtonValue.trim();
                                addValue(thisButtonValue);
                            }
                        }
                       
                    }
                }
            }
           
            function initCalc(){
                setCalcborder();
                setHead();
                setCalcButtonBg();
            }
           
            String.prototype.trim = function(){
                // 用正则表达式将前后空格
                // 用空字符串替代。
                return this.replace(/(^/s*)|(/s*$)/g, "");
            }
            var capsLockFlag;
            capsLockFlag = true;
            function capsLockText(){
                if (capsLockFlag)//改成大写
                {
                    for (var i = 0; i < Calc.elements.length; i++) {
                        var c = Calc.elements[i].value;
                        var c = c.trim();
                        if (Calc.elements[i].type == "button" && c >= "a" && char <= "z" && c.length == 1) {
                            Calc.elements[i].value = " " + String.fromCharCode(c.charCodeAt(0) - 32) + " ";
                        }
                    }
                }
                else {
                    for (var i = 0; i < Calc.elements.length; i++) {
                        var c = Calc.elements[i].value;
                        var c = c.trim();
                        if (Calc.elements[i].type == "button" && c >= "A" && c <= "Z" && c.length == 1) {
                            Calc.elements[i].value = " " + String.fromCharCode(c.charCodeAt(0) + 32) + " ";
                        }
                    }
                }
                capsLockFlag = !capsLockFlag;
            }
           
            window.onload = function(){
                inputValue1 = null;
                initCalc();
            }
           
            //用途:验证输入身份证号码是否正确
            function checkIdCard(){
                var flag = false;
                var isTrue = isTrue;
                var num = document.getElementById("idCard").value;
                num = num.toUpperCase();
                //身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X。  
                if (!(/(^/d{15}$)|(^/d{17}([0-9]|X)$)/.test(num))) {
                    document.getElementById("idCardDiv").innerHTML='输入的身份证号长度不对,或者号码不符合规定!/n15位号码应全为数字,18位号码末位可以为数字或X。';
                    return false;
                }
                //校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。
                //下面分别分析出生日期和校验位
                var len, re;
                len = num.length;
                if (len == 15) {
                    re = new RegExp(/^(/d{6})(/d{2})(/d{2})(/d{2})(/d{3})$/);
                    var arrSplit = num.match(re);
                   
                    //检查生日日期是否正确
                    var dtmBirth = new Date('19' + arrSplit[2] + '/' + arrSplit[3] + '/' + arrSplit[4]);
                    var bGoodDay;
                    bGoodDay = (dtmBirth.getYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4]));
                    if (!bGoodDay) {
                        document.getElementById("idCardDiv").innerHTML='输入的身份证号里出生日期不对!';
                        return false;
                    }
                    else {
                        //将15位身份证转成18位
                        //校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。
                        var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
                        var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
                        var nTemp = 0, i;
                        num = num.substr(0, 6) + '19' + num.substr(6, num.length - 6);
                        for (i = 0; i < 17; i++) {
                            nTemp += num.substr(i, 1) * arrInt[i];
                        }
                        num += arrCh[nTemp % 11];
                        flag = true;
                    }
                }
                if (len == 18) {
                    re = new RegExp(/^(/d{6})(/d{4})(/d{2})(/d{2})(/d{3})([0-9]|X)$/);
                    var arrSplit = num.match(re);
                   
                    //检查生日日期是否正确
                    var dtmBirth = new Date(arrSplit[2] + "/" + arrSplit[3] + "/" + arrSplit[4]);
                    var bGoodDay;
                    bGoodDay = (dtmBirth.getFullYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4]));
                    if (!bGoodDay) {
                        document.getElementById("idCardDiv").innerHTML='输入的身份证号里出生日期不对!';
                        return false;
                    }
                    else {
                        //检验18位身份证的校验码是否正确。
                        //校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。
                        var valnum;
                        var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
                        var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
                        var nTemp = 0, i;
                        for (i = 0; i < 17; i++) {
                            nTemp += num.substr(i, 1) * arrInt[i];
                        }
                        valnum = arrCh[nTemp % 11];
                        if (valnum != num.substr(17, 1)) {
                            document.getElementById("idCardDiv").innerHTML='18位身份证的校验码不正确!应该为:' + valnum;
                            return false;
                        }
                        flag = true;
                    }
                }
                //以下是用ajax实现服务器端验证(还有点问题)
                if(flag == true) {
                    new Ajax.Request('checkIdCard.do',{
                           method:'POST',
                           parameters:'idCard=' + num,
                           onSuccess:function(req) {
                               var txt = req.responseText;
                               if(txt == 'ok') {
                                   isTrue = true;
                               }else {
                                   isTrue = false;
                               }
                           }
                    });
                }
                return isTrue;
            }
           
            //用途:验证输入银行卡号是否正确
            function checkBankCard(){
                var regu = /^[1-9]{1}[0-9]{18}$/;
                var re = new RegExp(regu);
                var num = document.getElementById("bankCard").value;
                var flag = false;
                if (re.test(num)) {
                 //以下是用ajax实现服务器端验证(还有点问题)
                    new Ajax.Request('checkBankCard.do',{
                           method:'POST',
                           parameters:'bankCard=' + num,
                           onSuccess:function(req) {
                               var txt = req.responseText;
                               alert("****" + txt);
                               if(txt == 'ok') {
                                   flag = true;
                               }else {
                                   flag = false;
                               }
                           }
                    });
                    alert(flag);
                    return flag;
                }
                else {
                    document.getElementById("bankCardDiv").innerHTML = "您输入的银行卡号格式不正确,请按照要求正确输入!";
                    return false;
                }
            }
           
            //用途:验证输入手机号码是否正确
            function checkMobile(){
                var flag = false;
                var mobile = /^((/(/d{3}/))|(/d{3}/-))?13/d{9}|15[0-9]/d{8}$/;
                var num = document.getElementById("mobile").value;
                if (mobile.test(num)) {
                 //以下是用ajax实现服务器端验证(还有点问题)
                    new Ajax.Request('checkMobile.do',{
                           method:'POST',
                           parameters:'mobile=' + num,
                           onSuccess:function(req) {
                               var txt = req.responseText;
                               if(txt == 'ok') {
                                   flag = true;
                               }else {
                                   flag = false;
                               }
                           }
                    });
                    return true;
                }
                else {
                    document.getElementById("mobileDiv").innerHTML = "您输入的手机号码不正确,请正确输入!";
                    return false;
                }
            }
           
            //验证提交
            function checkForm(){
                if (checkMobile() & checkIdCard() & checkBankCard()) {
                    return true;
                }else {
                    return false;
                }
            }
           
            //清除提示
            function clearMessage(){
                document.getElementById("bankCardDiv").innerHTML = "";
                document.getElementById("idCardDiv").innerHTML = "";
                document.getElementById("mobileDiv").innerHTML = "";
            }
           
            //产生0~9的一个随机数数组
            function random() {
                var arr = new Array(10);
                for (var i = 0; i <= 9; i++) {
                    arr[i] = i;
                }
                for (var i = 0; i < arr.length; i++) {
                    var temp1 = Math.round(Math.random() * 9);
                    var temp2 = Math.round(Math.random() * 9);
                    var temp3;
                    if (temp1 != temp2) {
                        temp3 = arr[temp1];
                        arr[temp1] = arr[temp2];
                        arr[temp2] = temp3;
                    }
                }
                Calc.button_num0.value=" "+arr[0]+" ";
                Calc.button_num1.value=" "+arr[1]+" ";
                Calc.button_num2.value=" "+arr[2]+" ";
                Calc.button_num3.value=" "+arr[3]+" ";
                Calc.button_num4.value=" "+arr[4]+" ";
                Calc.button_num5.value=" "+arr[5]+" ";
                Calc.button_num6.value=" "+arr[6]+" ";
                Calc.button_num7.value=" "+arr[7]+" ";
                Calc.button_num8.value=" "+arr[8]+" ";
                Calc.button_num9.value=" "+arr[9]+" ";                  
            }
        </script>
    </head>
    <body>
        <br>
        <br>
        <br>
        <table width="500" height="180" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#D6D3CE" class=table-zuoyou>
            <form name="form1" method="post" action="${pageContext.request.contextPath }/login.do" οnsubmit="return checkForm();">
                <tr>
                    <td width="100" height="28" align="center" bgcolor="#FFFFFF">
                        银行卡号:
                    </td>
                    <td width="400" bgcolor="#FFFFFF" class=table-xia>
                        <input id="bankCard" name="bankCard" type="text" size="19" maxlength="19" onMouseOut="this.style.background=''" onMouseOver="this.style.background='#F9F9F9'" onFocus="this.select();" readOnly; onKeyDown="Calc.inputValue.value=this.value" onChange="Calc.inputValue.value=this.value" οnclick="clearMessage();random();inputValue1=this;showkeyboard();this.readOnly=1;Calc.inputValue.value=''">
                        (请输入19位0~9的数字)

                        <font color="red" size="2">
                            <div id="bankCardDiv">
                            </div>
                        </font>
                    </td>
                </tr>
                <tr>
                    <td width="100" height="28" align="center" bgcolor="#FFFFFF" class=table-youxia>
                        身份证号:
                    </td>
                    <td width="400" bgcolor="#FFFFFF" class=table-xia>
                        <input id="idCard" name="idCard" type="text" size="18" maxlength="18" onMouseOut="this.style.background=''" onMouseOver="this.style.background='#F9F9F9' " onFocus="this.select();" readOnly onKeyDown="Calc.inputValue.value=this.value" onChange="Calc.inputValue.value=this.value" οnclick="clearMessage();random();inputValue1=this;showkeyboard();this.readOnly=1;Calc.inputValue.value=''">
                        (请输入18位0~9的数字)
                        <font color="red" size="2">
                            <div id="idCardDiv">
                            </div>
                        </font>
                    </td>
                </tr>
                <tr>
                    <td width="100" height="28" align="center" bgcolor="#FFFFFF" class=table-youxia>
                        手&nbsp;机&nbsp;号:
                    </td>
                    <td width="400" bgcolor="#FFFFFF" class=table-xia>
                        <input id="mobile" name="mobile" type="text" size="11" maxlength="11" onMouseOut="this.style.background=''" onMouseOver="this.style.background='#F9F9F9'" onFocus="this.select();" readOnly onKeyDown="Calc.inputValue.value=this.value" onChange="Calc.inputValue.value=this.value" οnclick="clearMessage();random();inputValue1=this;showkeyboard();this.readOnly=1;Calc.inputValue.value=''">
                        (请输入11位0~9的数字)

                        <font color="red" size="2">
                            <div id="mobileDiv">
                            </div>
                        </font>
                    </td>
                </tr>
                <tr bgcolor="#FFFFFF">
                    <td colspan="2" align="center" bgcolor="#FFFFFF">
                        <input type="submit" name="Submit" value="登 录">
                    </td>
                </tr>
            </form>
        </table>
    </body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值