そこで、以前の開発をゆっくりと要約し始め、よりシンプルにして、より多くの検証を完了するために記述するコードの量を減らすためにいくつかの散在するメソッドも書きました。以前の考え方は、パラメータを渡し、検証するコントロールの ID を渡し、データ形式を検証する場合は対応する正規表現を渡すというものでした。プロジェクトが完了した後、プロジェクト全体を要約すると、この書き方ではあまりコードが節約されないことがわかり、学生からは私の書いたライブラリがあまり役に立たなかったという説明がありましたが、多くの場所で報告を受けました。また、まだよく理解できていませんし、すぐに始めることもできませんし、バグもまだたくさんあるはずなので、多くの場所では、各コントロールを 1 つずつ検証する方法を使用したいと考えています。 JS ファイルは 2 ~ 300 行あり、コメントも 1 文しか書けないので、問題が発生した後のメンテナンスが非常に面倒です。 JSのデバッグ。
最近出張に行っているので、以前のものをベースにさらにカプセル化して呼び出しをもっと便利にできないか考えていました。呼び出し時に JS コードを書かないのが最善です。 。私は jQuery の強力なセレクターについて考え、検証を行うとき、またはページから値を取得する必要があるときに、ページ要素にいくつかのカスタム属性を追加することがよくありました。したがって、検証を実行する場合は、要素にいくつかのカスタム属性を追加して JS コードを呼び出すだけで済みます。これが最も簡単です。
この単純な検証ライブラリは、フォーカスが失われたときの検証や送信ボタンがクリックされたときの検証を含む、基本的な検証の 90% を完了できるはずです。バックエンドに関して私にできることは何もありません。バックエンドを使用する人のためにそれを書くことしかできません:)。
呼び出しコードから始めましょう。JS コードは小さすぎるため、直接投稿しません。記事の最後に、私が以前に作成した JS ファイルも含まれています。 Renren.com を模倣するプラグインの場合。
電子メールを空にすることもできますが、電子メールを入力すると、その電子メールは合法である必要があります。空が許可され、空の値が true に割り当てられている場合、検証ライブラリは空でない検証を実行しません。 false の場合、または空の属性でデフォルトが追加されない場合は、空にすることができないことを意味します。 空にすることができない場合は、emptyErrorMsg 属性を追加して、空の場合にエラー メッセージを表示します。空でない場合は、赤い「*」が表示されます。この属性の値が表示されます。次に、電子メールを検証するための形式の検証が行われます。validata の値が不正な場合は、errorMsg が欠落しているか空の場合、エラー メッセージが表示されます。
validata の値は完全にカスタマイズできません。JS でカスタマイズされています。これは、validata の値に基づいて異なる正規表現を返すことです。メソッドは以下の通りで、オプションのvaliddataの値は以下のメソッドのregNameの値となります。ユーザーがそれを表示したい場合は、他の式を追加するだけです。
//検証内容に応じて対応する正規表現を返す
function returnRegString(regName) {
if (regName == "email") {
return "^([ a- zA-Z0-9_.-]) @(([a-zA-Z0-9-]) .) ([a-zA-Z0-9]{2,4}) $"; //メール
} else if (regName == "tel") {
return "^(86)?(-)?(0[0-9]{2,3})?(-)?([0- 9] {7,8})(-)?([0-9]{3,5})?$"; //電話
} else if (regName == "電話") {
return "^ (13[0-9]|15[0-9]|18[0-9])([0-9]{8})$"; //携帯電話
} else if (regName == "郵便番号") {
return "^([0-9]{6})$"; //郵便番号
} else if (regName == "number") {
return "^(0 | ([1-9] [0-9]*))(.[0-9] )?$"; //数値
} else if (regName == "10 進数") {
return " ^ [0-9] ([.][0-9] )?$"; //浮動小数点
} else if (regName == "money") {
return "^([0-9 ] )$"; //通貨
} else if (regName == "ウェブサイト") { //ウェブサイト
return "(http://|https://){0,1}[w/ . ?&=] ";
} else if (regName == "fax") { //Fax
return "^[ ]{0,1}([0-9]){1,3} [ ]?([-]?(([0-9])|[ ]){1,12}) $";
} else if (regName == "int") { //Integer
return "^(-){0,1}d $";
} else if (regName == "pInt") { //正の整数
return "^d $"; else if ( regName == "nInt") { //負の整数
return "^-d $";
} else if (regName == "nandl") { //数字と文字
return "[ a -zA-Z0-9]";
} else if (regName == "chinese") { //中国語の文字が含まれているかどうか
return "[u4e00-u9fa5]";
}
}

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

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

メモ帳++7.3.1
使いやすく無料のコードエディター
