JavaScript 表單驗(yàn)證

JavaScript 表單驗(yàn)證

<code>JavaScript</code> 可用來在數(shù)據(jù)被送往服務(wù)器前對 <code>HTML</code> 表單中的這些輸入數(shù)據(jù)進(jìn)行驗(yàn)證佑惠。
表單數(shù)據(jù)經(jīng)常需要使用 JavaScript 來驗(yàn)證其正確性:

驗(yàn)證表單數(shù)據(jù)是否為空母债?

驗(yàn)證輸入是否是一個(gè)正確的<code>email</code>地址惹挟?

驗(yàn)證日期是否輸入正確胃珍?

驗(yàn)證表單輸入內(nèi)容是否為數(shù)字型菌羽?

必填(或必選)項(xiàng)目
下面的函數(shù)用來檢查用戶是否已填寫表單中的必填(或必選)項(xiàng)目。假如必填或必選項(xiàng)為空微王,那么警告框會(huì)彈出蔼夜,并且函數(shù)的返回值為<code> false</code>兼耀,否則函數(shù)的返回值則為 <code>true</code>(意味著數(shù)據(jù)沒有問題):

    function validateForm(){ 
    var x=document.forms["myForm"]["fname"].value; 
    if (x==null || x=="")
    { alert("姓必須填寫"); 
    return false;
    }}

E-mail 驗(yàn)證
下面的函數(shù)檢查輸入的數(shù)據(jù)是否符合電子郵件地址的基本語法。
意思就是說求冷,輸入的數(shù)據(jù)必須包含 @ 符號(hào)和點(diǎn)號(hào)(.)瘤运。同時(shí),@ 不可以是郵件地址的首字符遵倦,并且 @ 之后需有至少一個(gè)點(diǎn)號(hào):

        function validateForm(){
            var x=document.forms["myForm"]["email"].value;
            var atpos=x.indexOf("@");
            var dotpos=x.lastIndexOf(".");
            if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length){
                alert("不是一個(gè)有效的 e-mail 地址");
                return false;
            }
        }

今天的練習(xí) 寫的不好 沒時(shí)間細(xì)化 直接貼代碼了

        <!DOCTYPE html>
        <html>
            <head>
                <meta charset="UTF-8">
                <title>登錄頁面</title>
            <link rel="stylesheet" href="C:\Users\Administrator\Desktop\bootstrap-3.3.5-dist\css\bootstrap.min.css" />
            <script type="text/javascript" src="dse.js" ></script>
        <!--     <script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script> -->
        <!--    <script src="http://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script> -->
            </head>
        <body>
            <div class="div1">
            <p class="p0">
        <form class="form-horizontal" role="form">
            <table >a
            <tr>
                <td align='right'><label>用戶名:   </label></td>
                <td ><input type="text" class="form-control" id='user' " /></td>
                <td align='right' id="worr1" width="150px"></td>
            </tr>
            <tr>
                <td align='right'><label> 昵稱:   </label></td>
                <td ><input type="text" class="form-control" id="name"/></td>
                <td align='right' id="worr2" ></td>
            </tr>
            <tr>
                <td align='right'><label>密碼:    </label></td>
                <td ><input type="password" class="form-control" id="pwd1" /></td>
                <td align='right' id="worr3"></td>
            </tr>       
            <tr>
                <td align='right'><label>確認(rèn)密碼:  </label></td>
                <td><input type="password" class="form-control" id="pwd2" /></td>
                <td align='right' id="worr"></td>
            </tr>
            <tr>
                <td align='right'><label>郵箱:    </label></td>
                <td > <input type="text" class="form-control" id="email" /></td>
                <td align='right' id="worr4" ></td>
            </tr>
            <tr>
                <td align='right'><label>手機(jī)號(hào):   </label></td>
                <td ><input type="text" class="form-control" id="phone" /></td>
                <td align='right' id="worr5" ></td>
            </tr>
            <tr>
                <td  colspan="3"><a href="#" id="a1">用戶手冊</a></td>
            </tr>
            <tr>
                <td  colspan="3"><button onclick ="but1()" class="btn btn-default"><label >提交</label></button></td>
                <td align='right' id="worr6" ></td>
            </tr>
            </table>

        </form>
            
        </div>
            </body>
        </html>

js

    function but1() {
        but2();
        but3();
        but4();
        but5();
        but6();
    }
    function but2() {
        var pwd1=document.getElementById('pwd1').value;
        var pwd2=document.getElementById('pwd2').value;
        
            if (pwd1=="") {
            document.getElementById('worr3').innerHTML="密碼不能為空";
            }
            if (pwd2=="") {
            document.getElementById('worr').innerHTML="密碼不能為空";
            }
            try{
                if (pwd1===pwd2) {

                }else{
                        throw '密碼不一致';          
                }
            }catch(err){
                document.getElementById('worr').innerHTML=" "+ err +" ";
                // document.getElementById('worr').style.color='red';

            }
        
    }
    function but3() {
        var user=document.getElementById('user').value;
        if (user=="") {
            document.getElementById('worr1').innerHTML="用戶名不能為空";
            }
        var name=document.getElementById('name').value;
        if (name=="") {
            document.getElementById('worr2').innerHTML="昵稱不能為空";
            }
    }
    function but4() {
        var email=document.getElementById('email').value;
        if (email=="") {
        document.getElementById('worr4').innerHTML="郵箱不能為空";
        }else{
        var atpos=email.indexOf("@");
        var dotpos=email.lastIndexOf(".");
        if (atpos<1 || dotpos<atpos+2 || dotpos+2>=email.length){
            document.getElementById('worr4').innerHTML="不是一個(gè)有效的 e-mail 地址";
        }

        }
    }
    function but5() {

        var phone=document.getElementById('phone').value;
        if (phone=="") {
        document.getElementById('worr5').innerHTML="手機(jī)號(hào)不能為空";
        }else{
     var reg = /^0?1[3|4|5|8][0-9]\d{8}$/;
     if (reg.test(phone)) {
          alert("號(hào)碼正確~");
     }else{
            document.getElementById('worr5').innerHTML="號(hào)碼有誤~";
     };

        }
    }
    function but6() {
            var user=document.getElementById('user').value;
            var name=document.getElementById('name').value;
            var pwd2=document.getElementById('pwd2').value;
            var email=document.getElementById('email').value;
            var phone=document.getElementById('phone').value;
            document.getElementById('worr6').innerHTML=" "+user+"  "+name+"  "+pwd2+"  "+email+"  "+phone;
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末尽超,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子梧躺,更是在濱河造成了極大的恐慌似谁,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件掠哥,死亡現(xiàn)場離奇詭異巩踏,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)续搀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門塞琼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人禁舷,你說我怎么就攤上這事彪杉。” “怎么了牵咙?”我有些...
    開封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵派近,是天一觀的道長。 經(jīng)常有香客問我洁桌,道長渴丸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任另凌,我火速辦了婚禮谱轨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘吠谢。我一直安慰自己土童,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開白布工坊。 她就那樣靜靜地躺著娜扇,像睡著了一般错沃。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上雀瓢,一...
    開封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音玉掸,去河邊找鬼刃麸。 笑死,一個(gè)胖子當(dāng)著我的面吹牛司浪,可吹牛的內(nèi)容都是我干的泊业。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼啊易,長吁一口氣:“原來是場噩夢啊……” “哼吁伺!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起租谈,我...
    開封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬榮一對情侶失蹤篮奄,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后割去,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體窟却,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年呻逆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了夸赫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡咖城,死狀恐怖茬腿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情宜雀,我是刑警寧澤切平,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站州袒,受9級(jí)特大地震影響揭绑,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜郎哭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一他匪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧夸研,春花似錦邦蜜、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贱迟。三九已至,卻和暖如春絮供,著一層夾襖步出監(jiān)牢的瞬間衣吠,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來泰國打工壤靶, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留缚俏,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓贮乳,卻偏偏與公主長得像忧换,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子向拆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • JavaScript 表單驗(yàn)證JavaScript 可用來在數(shù)據(jù)被送往服務(wù)器前對 HTML 表單中的這些輸入數(shù)據(jù)進(jìn)...
    hx永恒之戀閱讀 309評(píng)論 0 1
  • 表單驗(yàn)證是數(shù)據(jù)被送往服務(wù)器前對 HTML 表單中輸入數(shù)據(jù)進(jìn)行驗(yàn)證亚茬。 表單驗(yàn)證是前端Javascript重要功能之一...
    jdzhangxin閱讀 7,095評(píng)論 0 7
  • HTML表單 在HTML中,表單是 ... 之間元素的集合浓恳,它們允許訪問者輸入文本刹缝、選擇選項(xiàng)、操作對象等等奖蔓,然后將...
    蘭山小亭閱讀 3,418評(píng)論 2 14
  • 經(jīng)典案例 在表單內(nèi)容送至服務(wù)器前驗(yàn)證是否為合法郵箱: function validateForm() { var ...
    0han閱讀 1,443評(píng)論 0 0
  • 山花子——瘦東陽 紅燭淚干幾時(shí)悔赞草,對鏡相約春山眉。敢問今宵涼初被吆鹤,伴誰冷厨疙? 前生環(huán)玦多少樣,今世陰晴梨...
    筆下清平閱讀 144評(píng)論 0 0