検索

JavaScriptのカスタム共通メソッド

May 16, 2016 pm 06:47 PM
一般的な方法カスタマイズ

例: ページの文字処理、js 正規表現の検証など。次に、私自身の浅い開発経験とインターネット上の膨大なリソースを要約して整理し、将来それを使用する必要があるときに検索する手間を省きます。この連載では、よく使われる機能をまとめて整理し、出発点として扱います。
コードは簡単です。コードを見てください:
1. 一般的な文字列処理関数

// 文字の長さを返します。1 つの中国語は 2 としてカウントされます。 = function( ) {
return this .replace( / [ ^ x00 - xff] / g, " ** " ).length;
}

// 両端の空白文字を削除文字列の
String.prototype.Trim = function() {
return this .replace( / ( ^ s ) | (s $) / g, "" ); >// 文字の左端を削除
String.prototype.LeftTrim = function() {
return this .replace( / ( ^ [s] * ) / g, "" ); の空白文字を削除します。
}

// 文字の右端の空白文字を削除
String.prototype.RightTrim = function() {
return this .replace( / ([s] * $) / g, "" );
}

/* 文字列が等しいかどうかを確認するために大文字と小文字の比較を無視します
注: 大文字と小文字を無視せずに比較するには、== を使用します*/
文字列.prototype.IgnoreCaseEquals = function(str) {
return this.toLowerCase() == str.toLowerCase();
}

/* 文字列が等しいかどうかを確認するために大文字と小文字の比較を無視しません。 */
String.prototype.Equals = function(str) {
return ( this == str);
}

/* 文字列を比較し、条件に従って -1、0 を返します。結果
同じ戻り値: 0 異なる: -1
*/
String.prototype.CompareTo = function(str) {
if ( this == str) {
return 0 ; 🎜>} else
return - 1 ;
}

// 文字列置換
String.prototype.Replace = function(oldValue, newValue) {
var reg = new RegExp( oldValue, " g " );
return this .replace(reg, newValue);

// 特定の文字列で終わるかどうかを確認します
String.prototype.EndsWith = function (str) {
return this .substr( this .length - str .length) == str;
}

// 文字列が指定された文字列
String で始まるかどうかを判断します。 prototype.StartsWith = function(str) {
return this .substr (0, str.length) == str;
}

//
String から n 文字を切り取ります。 prototype.LeftSlice = function(n) {
return this .substr (0, n);
}

// 右から n 文字を切り取ります
String.prototype.RightSlice = function (n) {
return this .substring( this .length - n);
}

// 指定された文字の出現数をカウントします
String.prototype.Occurs = function (ch) {
// var re = eval("/[^" ch "]/g");
// return this.replace(re, "").length
return this; .split(ch).length - 1 ;
}


/* */
String.prototype.Style = function(style) { を使用して、特定のスタイルで文字列を構築します。
return "
" , this , "
" );
}

// StringBuilder と同様の関数を構築します (複数の文字列を結合するときに使用され、非常に便利です)
function StringBuilder(str) { this .tempArr = new Array() ; StringBuilder.prototype.Append = function(value) {
this .tempArr.push(value); >これを返します ;
}
StringBuilder.prototype.Clear = function() {
this .tempArr.length = 0 ;
}
StringBuilder.prototype.toString = function() 🎜>return this .tempArr.join( '' );
}

//共通の文字列メソッドと拡張機能
function test() {
var testStr = " これはテスト文字列です" ;
var testStr2 = " String" ;
// アラート(testStr.Trim());
// アラート(testStr.LeftTrim());
// アラート(testStr.RightTrim ());
// アラート(testStr2. ChineseLength( ));
// アラート(testStr2.CompareTo(testStr));
// document.write(testStr2.Style(" color:red;width:100px"));
//alert(testStr2.LeftSlice(2)); (7));
//alert(testStr.Occurs("s"));
/* StringBuilder テスト*/
// var testStr3 = new StringBuilder(""); / testStr3.Append("test3rn");
/ / testStr3.Append("test3test3rn");
// testStr3.Append("test3"); );
// testStr3.Clear();
//alert(testStr3.toString());

2. * ------------- -----------次の関数にはまだ文字列処理が含まれていますが、正規表現の一部として使用する方が合理的だと思われます-- ------------- ------------- */
// 文字列が数字で構成されているかどうかを確認します
String.prototype.IsDigit = function () {
var str = this .Trim ();
return (str.replace( / d / g, "" ).length == 0 ); / 文字列が浮動小数点型であるかどうかを検証します
String.prototype.IsFloat = function () {
var str = this .Trim()
// 空の場合は検証に合格しません。
if (str == "" )
return false ;
// If it is an integer, check the validity of the integer
if (str.indexOf( " . " ) == - 1 ) {
return str.IsDigit();
}
else {
if ( / ^(-?)(d )(.{1})(d )$ / g.test(str))
return true ;
else
return false ;
}
}

// Check whether it is a negative integer
function isNegativeInteger(str) {
// If it is empty, the verification will not pass
if (str == "" )
return false ;
if (str.IsDigit()) {
if (parseInt(str, 10 ) return true ;
else
return false ;
}
else
return false ;
}

// Check whether it is a negative floating point number
function isNegativeFloat(str) {
// If it is empty, the verification will not pass
if (str == "" )
return false ;
if (str.IsFloat()) {
if (parseFloat (str, 10 ) return true ;
else
return false ;
}
else
return false ;
}

/ / Is it a string composed of letters?
function isCharacter(str) {
return ( / ^[A-Za-z] $ / .test(str));
}

// Whether it is a string of letters and numbers
function isNumberCharacter(str) {
return ( / ^[A-Za-z0-9] $ / .test(str));
}

// Whether it is email
function isEmail(str) {
return ( / (S) [@]{1}(S) [.]{1}(w) / .test (str))
}

// Is it a url (Comment: The version circulating on the Internet has very limited functions, the following one can basically meet the needs)
function isUrl(str) {
return ( / ([a-zA-z] : / / )?[^s]* / .test(str));
}

// Is it an ip address?
function isIpAddress( str) {
return / (d ).(d ).(d ).(d ) / .test(str);
}

// Is it a string composed of Chinese characters
function isChinese(str) {
return ( / ^[u4e00-u9fa5] $ / .test(str));
}

// Whether it is a double-byte character (including Chinese characters Within)
function isUnicode(str) {
return ( / ^[x00-xff] $ / .test(str));
}

// Is it a phone number
function isTelephone(str) {
// Compatible format: Country code (2 to 3 digits)-area code (2 to 3 digits)(-)?Phone number (7 to 8 digits)-extension number (3 digits) )
return ( / ^(([0 ]d{2,3}-)?(0d{2,3}))?[-]?(d{7,8})(-(d{3 ,}))?$ / .test(str));
}

// Is it a mobile phone number?
function isMobilePhone(str) {
return ( / ^(((d {3}))|(d{3}-))?1[3,5]d{9}$ / .test(str));
}

// Is it a QQ number? (Tencent QQ number starts from 10000)
function isQQNumber(str) {
return ( / ^[1-9][0-9]{4,}$ / .test(str));
}

// Is it a domestic postal code (China postal code is 6 digits)
function isMailCode(str) {
return ( / d{6} / .test(str)) ;
}

// Is it a domestic ID number?
function isIdNumber(str) {
return ( / d{15}|d{18} / .test(str) ; It’s just a piece of cake, so I won’t go into details.



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

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。

JavaScriptとWeb:コア機能とユースケースJavaScriptとWeb:コア機能とユースケースApr 18, 2025 am 12:19 AM

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

JavaScriptエンジンの理解:実装の詳細JavaScriptエンジンの理解:実装の詳細Apr 17, 2025 am 12:05 AM

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

Python vs. JavaScript:学習曲線と使いやすさPython vs. JavaScript:学習曲線と使いやすさApr 16, 2025 am 12:12 AM

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

Python vs. JavaScript:コミュニティ、ライブラリ、リソースPython vs. JavaScript:コミュニティ、ライブラリ、リソースApr 15, 2025 am 12:16 AM

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

C/CからJavaScriptへ:すべてがどのように機能するかC/CからJavaScriptへ:すべてがどのように機能するかApr 14, 2025 am 12:05 AM

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

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デバイス制御に使用されます。

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ヘンタイを無料で生成します。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

メモ帳++7.3.1

メモ帳++7.3.1

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

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

Safe Exam Browser

Safe Exam Browser

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

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

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