検索

Javascript_16_DOM_form练习

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GBK">
    <title>DOM_form练习</title>
  </head>
  <body>
  正则表达式对象
本对象包含正则表达式模式以及表明如何应用模式的标志。
语法 1
re = /pattern/[flags]
语法 2
re = new RegExp("pattern",["flags"]) 
参数
re
必选项。将要赋值为正则表达式模式的变量名。
Pattern 
必选项。要使用的正则表达式模式。如果使用语法 1,用 "/" 字符分隔模式。如果用语法 2,用引号将模式引起来。
flags
可选项。如果使用语法 2 要用引号将 flag 引起来。标志可以组合使用,可用的有: 
    g (全文查找出现的所有 pattern) 
    i (忽略大小写) 
    m (多行查找) 
          ==============我是分割线==================
test 方法
返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式。
rgexp.test(str) 
参数
rgexp
必选项。包含正则表达式模式或可用标志的正则表达式对象。
str
必选项。要在其上测试查找的字符串。
说明
test 方法检查在字符串中是否存在一个模式,如果存在则返回 true,否则就返回 false。 
全局 RegExp 对象的属性不由 test 方法来修改。    
      ==============我是分割线==================
            ^    匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,
            ^ 也匹配 &#39;\n&#39; 或 &#39;\r&#39; 之后的位置。
            $    匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性,
            $ 也匹配 &#39;\n&#39; 或 &#39;\r&#39; 之前的位置。
            \w    匹配包括下划线的任何单词字符。等价于&#39;[A-Za-z0-9_]&#39;。 
            \W    匹配任何非单词字符。等价于 &#39;[^A-Za-z0-9_]&#39;。 
            (pattern)    匹配pattern 并获取这一匹配。
            所获取的匹配可以从产生的 Matches 集合得到,
            在VBScript 中使用 SubMatches 集合,
            在JScript 中则使用 $0…$9 属性。要匹配圆括号字符,请使用 &#39;\(&#39; 或 &#39;\)&#39;。
            g (全文查找出现的所有 pattern) 
            i (忽略大小写) 
            m (多行查找)
      ==============我是分割线==================
    /*
     * 需求:表单校验,带正则表达式~
     思路:先实现一个具体的表单组件校验,再抽取为一个通用的!
     */        
     <script type="text/javascript">      
      function checkUser_1(){
      //校验用户名(实现一个具体的表单组件校验先)
        var flag;
        var oUser= document.getElementsByName("user")[0];
        var val = oUser.value;
        //JS中,定义正则表达式,有两种方式
        var reg = new RegExp("^[a-z]{4}$","i");//必须是四个字母,i表示不区分大小写。 
//        reg =  new RegExp("^\\d{4}$");// 必须是四个数字。 
//        reg = /^\d{4}$/;        
        var oSpan = document.getElementById("span_id_user");        
        if(reg.test(name)){
          oSpan.innerHTML = "用户名正确".fontcolor("green");
          flag = true;
        }else{
          oSpan.innerHTML = "用户名错误".fontcolor("red");
          flag = false;
        }        
        return flag;
      }
      /*
       * 抽取为一个通用的!(name,reg,spanId,info_ok,info_err)
       *发现很多框的校验除了几个内容不同外,校验的过程是一样的。
       * 所以进行了代码的提取。
       */
      function check(name,reg,spanId,info_ok,info_err){
        var flag;        
        var val = document.getElementsByName(name)[0].value;
        var oSpan = document.getElementById(spanId);
        if(reg.test(val)){
          oSpan.innerHTML = info_ok.fontcolor("green");
          flag = true;
        }else{
          oSpan.innerHTML = info_err.fontcolor("red");
          flag = false;
        }        
        return flag;
      }
      function checkUser(){
      //校验用户名。4位字母
        var reg = /^[a-z]{4}$/i;
        return check("user",reg,"span_id_user","用户名正确","用户名错误");
      }
      function checkPsw(){
      //校验密码;4位数字
        var reg  = /^\d{4}$/;
        return check("psw",reg,"span_id_psw","密码格式正确","密码格式错误");
      }
       function checkRepsw(){
      //校验确定密码。只要和密码一致即可。
        var flag;
        //获取密码框内容。        
        var psw  = document.getElementsByName("psw")[0].value;        
        //获取确认密码框内容。
        var repsw  = document.getElementsByName("repsw")[0].value;
        //获取确认密码的span区域。 
        var oSpan = document.getElementById("span_id_repsw");
        if(psw==repsw){
          oSpan.innerHTML = "两次密码一致".fontcolor("green");
          flag = true;
        }else{
          oSpan.innerHTML = "两次密码不一致".fontcolor("red");
          flag = false;
        }      
        return flag;
       }     
      function checkMail(){
       //校验邮件
        var reg = /^\w+@\w+(\.\w+)+$/i;
        return check("mail",reg,"span_id_mail","邮件地址正确","邮件地址错误");
      }     
      function checkForm(){
       // 提交事件处理。全部检验合格才返回真!
        if(checkUser() && checkPsw() && checkRepsw() && checkMail()){
          return true;
        }
        return false;
      }
    </script>
    <!--onblur方法是失去焦点,onfocus是获得焦点-->
    <form id="form_id_1" onsubmit="return checkForm()">
      用户名称:<input type="text" name="user" onblur="checkUser()" />
      <span id="span_id_user"></span>
      <br/>
      输入密码:<input type="text" name="psw" onblur="checkPsw()"  />
      <span id="span_id_psw"></span>
      <br/>
      确定密码:<input type="text" name="repsw" onblur="checkRepsw()" />
      <span id="span_id_repsw"></span>
      <br/>
      邮件地址:<input type="text" name="mail" onblur="checkMail()"  />
      <span id="span_id_mail"></span>
      <br/>
      <input type="submit" value="提交数据" />
    </form>
    ==============我是分割线==================
    /*
     * 需求:form提交有两种!
     第1种是:使用input type="submit" value="提交数据"
     只要点击该submit按钮,会自动将所在的form表单中的所有数据打包发送到服务器 
     第2种是:
     使用的form对象的submit()方法,实现自定义提交!
     */
    <script type="text/javascript">
         function mySubmit(){
    //form提交方式之二:自定义提交,使用的是form对象的submit()方法
        var oForm = document.getElementById("form_id_1");
        oForm.submit();
      }
    </script>
    <input type="button" value="我的提交" onclick="mySubmit()" />
  </body>
</html>

以上就是Javascript_16_DOM_form练习的内容,更多相关内容请关注PHP中文网(www.php.cn)!



声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
JavaScriptエンジン:実装の比較JavaScriptエンジン:実装の比較Apr 13, 2025 am 12:05 AM

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

ブラウザを超えて:現実世界のJavaScriptブラウザを超えて:現実世界のJavaScriptApr 12, 2025 am 12:06 AM

現実世界におけるJavaScriptのアプリケーションには、サーバー側のプログラミング、モバイルアプリケーション開発、モノのインターネット制御が含まれます。 2。モバイルアプリケーションの開発は、ReactNativeを通じて実行され、クロスプラットフォームの展開をサポートします。 3.ハードウェアの相互作用に適したJohnny-Fiveライブラリを介したIoTデバイス制御に使用されます。

next.jsを使用してマルチテナントSaaSアプリケーションを構築する(バックエンド統合)next.jsを使用してマルチテナントSaaSアプリケーションを構築する(バックエンド統合)Apr 11, 2025 am 08:23 AM

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

next.jsを使用してマルチテナントSaaSアプリケーションを構築する方法(フロントエンド統合)next.jsを使用してマルチテナントSaaSアプリケーションを構築する方法(フロントエンド統合)Apr 11, 2025 am 08:22 AM

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

JavaScript:Web言語の汎用性の調査JavaScript:Web言語の汎用性の調査Apr 11, 2025 am 12:01 AM

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。

JavaScriptの進化:現在の傾向と将来の見通しJavaScriptの進化:現在の傾向と将来の見通しApr 10, 2025 am 09:33 AM

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

javascriptの分解:それが何をするのか、なぜそれが重要なのかjavascriptの分解:それが何をするのか、なぜそれが重要なのかApr 09, 2025 am 12:07 AM

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

pythonまたはjavascriptの方がいいですか?pythonまたはjavascriptの方がいいですか?Apr 06, 2025 am 12:14 AM

Pythonはデータサイエンスや機械学習により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、簡潔な構文とリッチライブラリエコシステムで知られており、データ分析とWeb開発に適しています。 2。JavaScriptは、フロントエンド開発の中核です。 node.jsはサーバー側のプログラミングをサポートしており、フルスタック開発に適しています。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)