ホームページ ウェブフロントエンド jsチュートリアル Mootools 1.2 チュートリアル入力フィルタリング パート 1 (数値)_Mootools

Mootools 1.2 チュートリアル入力フィルタリング パート 1 (数値)_Mootools

May 16, 2016 pm 06:46 PM
入力フィルタリング

注: JavaScript での入力フィルタリングは、(クライアント側) コードのスムーズな実行を保証するだけであり、アプリケーションをインジェクション攻撃から保護するためにサーバー側の文字列フィルタリングを置き換えることはできません。
講義 4 の最後の例では、テキスト入力ボックスから RGB 値を取得し、それを使用してページの背景色を変更します。今日はまずそのコードの一部を見ていきます。例を示し、それを使用して 1 つの講義を拡張します。
rgbToHex()
技術的に言えば、rgbToHex() メソッドは実際には Array コレクションに属します。数値を処理するための配列メソッドですので、今日はこのメソッドを学習します。機能的に言​​えば、rgbToHex() は非常に簡単に使用できます。
リファレンス コード:

コードをコピー コードは次のとおりです:
function changeColor(red_value, green_value, blue_value){
var color = [red_value, green_value, blue_value].rgbToHex();
alert(' に変換します: ' color ); >}


赤、緑、青の値はすべて数値であるため、これは正常で完璧です。予期しないものを渡す場合は、それを試してみてください。
結果の最後に「NaN」が表示されます。NaN は Not a Number (
Not a Number) を表します。コード内で色の値をハードコーディングして記述した場合、これは起こらない可能性があります。ただし、この
値を入力フォームから取得した場合、要件を満たさない入力値を処理する必要がある状況に遭遇する可能性があります。
toInt()
それでは、rgbToHex() メソッドに渡されるパラメータがすべて数値であることを確認する方法が必要です。ここでは toInt() メソッドを使用する必要があります。 toInt() も比較的単純な関数です。変数に対して呼び出すと、可能であれば整数に変換されます。
参照コード:


var toIntDemo = function(make_me_a_number ){
varnumber = make_me_a_number.toInt();
alert ('Best Attempt : 'number);


ご覧のとおり、toInt( ) メソッドは考えられるすべての状況に対処できるわけではありませんが、$type() と呼ばれる MooTools の別の優れたメソッドのおかげで、この問題をうまく処理できます。
$type()
$type() も、MooTools が提供する信じられないほどシンプルで便利なものです。渡された変数をチェックして、その変数の型を示す文字列を返します。
リファレンス コード:



コードをコピー コードは次のとおりです。 var checkType = function(variable_to_check){
var variable_type = $type(variable_to_check)
alert("変数は : " variable_type);
}


$type() メソッドで検出できる型は他にもたくさんあります。完全なリストは、この
Core.$type() ドキュメント リストで見つけることができます。 。しかし今、私たちが本当に関心があるのは、整数を検出する方法です。
toIntDemo() メソッドで $type() メソッドを使用すると、toInt() が処理できない入力を簡単に処理できます。
リファレンス コード:



コードをコピー コードは次のとおりです: var toIntDemo = function(make_me_a_number){
//入力数値を var number = make_me_a_number.toInt();
//それが機能しなかった場合は、number を 0 に設定します
if ($type(number) != 'number'){number = 0;}
alert('Best Attempt : 'number);
}


changeColor() メソッドと組み合わせると、ほぼ完璧な解決策が得られます:
リファレンス コード:



コードをコピーします
コードは次のとおりです: var changeColor_2 = function(red_value , green_value, blue_value ){ //すべてが整数であることを確認してください
red_value = red_value.toInt();
blue_value = blue_value.toInt( ); >//数値ではないものにデフォルト値を設定します
if ($type(red_value) != 'number'){red_value = 0;}
if ($type(green_value) != 'number '){green_value = 0;}
if ($type(blue_value) != 'number'){blue_value = 0;}
//16 進値を計算します
var color = [red_value, green_value , blue_value ].rgbToHex();
alert('色に変換します)


最後のメソッドで rgbToHex() メソッドに渡された数値は、RGB 値の許容範囲 0 ~ 255 を超えていますが、この値は依然として 16 進値に忠実に変換されます。残念ながら、これは、その範囲外の数値を受け入れると、有効な 16 進カラー値が得られないことを意味します。幸いなことに、MooTools には、この問題に対処するために使用できる別の方法があります。
limit()
MooTools の limit() メソッドも非常にシンプルで簡単です。このメソッドを数値に対して呼び出し、その数値の最小許容値と最大許容値をパラメーター
として渡すと、自動的に丸められます。また、これにも留意する必要があります。limit メソッドには整数パラメーターが必要なので、通常、数値として指定したいもの (または数値コレクション (
Number Collection) 内のその他のもの) に対して toInt を使用してから、リミットメソッド。
参照コード:
コードをコピー コードは次のとおりです:

var limitDemo = function(number_to_limit ){
//整数を取得するために最善を尽くします
number_to_limit =number_to_limit.toInt();
//制限値を取得します
varlimited_number =number_to_limit.limit(0, 255); 🎜>alert ("Number Limited To : "limited_number);
}

サンプルコード
上記のメソッドとchangeColor()メソッドを組み合わせてみてください:
リファレンスコード:

コードをコピーします コードは次のとおりです:
var changeColor = function(red_value, green_value, blue_value ) {
//すべてが整数であることを確認してください
red_value = red_value.toInt();
blue_value = blue_value.toInt(); > //数値ではないものにデフォルト値を設定します
if ($type(red_value) != 'number'){red_value = 0;}
if ($type(green_value) != 'number '){ green_value = 0;}
if ($type(blue_value) != 'number'){blue_value = 0;}
//すべてを RGB スケール (0 ~ 255) に制限します
red_value = red_value.limit(0, 255);
green_value = green_value.limit(0, 255);
//16 進値を計算します。 color = [ red_value, green_value, blue_value].rgbToHex();
alert('色に変換します)



さらに詳しく



開始するために必要なものがすべて入った zip パッケージをダウンロードします

標準数値(数値)処理関数関数

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

JavaScriptの文字列文字を交換します JavaScriptの文字列文字を交換します Mar 11, 2025 am 12:07 AM

JavaScriptの文字列文字を交換します

カスタムGoogle検索APIセットアップチュートリアル カスタムGoogle検索APIセットアップチュートリアル Mar 04, 2025 am 01:06 AM

カスタムGoogle検索APIセットアップチュートリアル

例JSONファイルの例 例JSONファイルの例 Mar 03, 2025 am 12:35 AM

例JSONファイルの例

8見事なjQueryページレイアウトプラグイン 8見事なjQueryページレイアウトプラグイン Mar 06, 2025 am 12:48 AM

8見事なjQueryページレイアウトプラグイン

10 jQuery構文蛍光物 10 jQuery構文蛍光物 Mar 02, 2025 am 12:32 AM

10 jQuery構文蛍光物

独自のAjax Webアプリケーションを構築します 独自のAjax Webアプリケーションを構築します Mar 09, 2025 am 12:11 AM

独自のAjax Webアプリケーションを構築します

' this' JavaScriptで? ' this' JavaScriptで? Mar 04, 2025 am 01:15 AM

' this' JavaScriptで?

10 JavaScript&JQuery MVCチュートリアル 10 JavaScript&JQuery MVCチュートリアル Mar 02, 2025 am 01:16 AM

10 JavaScript&JQuery MVCチュートリアル

See all articles