検索
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 までご連絡ください。
如何在Netflix中快速设置自定义头像如何在Netflix中快速设置自定义头像Feb 19, 2024 pm 06:33 PM

Netflix上的头像是你流媒体身份的可视化代表。用户可以超越默认的头像来展示自己的个性。继续阅读这篇文章,了解如何在Netflix应用程序中设置自定义个人资料图片。如何在Netflix中快速设置自定义头像在Netflix中,没有内置功能来设置个人资料图片。不过,您可以通过在浏览器上安装Netflix扩展来实现此目的。首先,在浏览器上安装Netflix扩展的自定义个人资料图片。你可以在Chrome商店买到它。安装扩展后,在浏览器上打开Netflix并登录您的帐户。导航至右上角的个人资料,然后单击

Win11如何自定义背景图片Win11如何自定义背景图片Jun 30, 2023 pm 08:45 PM

Win11如何自定义背景图片?在最新发布的win11系统中,里面有许多的自定义功能,但是很多小伙伴不知道应该如何使用这些功能。就有小伙伴觉得背景图片比较单调,想要自定义背景图,但是不知道如何操作自定义背景图,如果你不知道如何定义背景图片,小编下面整理了Win11自定义背景图片步骤,感兴趣的话一起往下看看把!Win11自定义背景图片步骤1、点击桌面win按钮,在弹出的菜单中点击设置,如图所示。2、进入设置菜单,点击个性化,如图所示。3、进入个性化,点击背景,如图所示。4、进入背景设置,点击浏览图片

如何在Python中创建和自定义Venn图?如何在Python中创建和自定义Venn图?Sep 14, 2023 pm 02:37 PM

维恩图是用来表示集合之间关系的图。要创建维恩图,我们将使用matplotlib。Matplotlib是一个在Python中常用的数据可视化库,用于创建交互式的图表和图形。它也用于制作交互式的图像和图表。Matplotlib提供了许多函数来自定义图表和图形。在本教程中,我们将举例说明三个示例来自定义Venn图。Example的中文翻译为:示例这是一个创建两个维恩图交集的简单示例;首先,我们导入了必要的库并导入了venns。然后我们将数据集创建为Python集,之后,我们使用“venn2()”函数创

如何在CakePHP中创建自定义分页?如何在CakePHP中创建自定义分页?Jun 04, 2023 am 08:32 AM

CakePHP是一个强大的PHP框架,为开发人员提供了很多有用的工具和功能。其中之一是分页,它可以帮助我们将大量数据分成几页,从而简化浏览和操作。默认情况下,CakePHP提供了一些基本的分页方法,但有时你可能需要创建一些自定义的分页方法。这篇文章将向您展示如何在CakePHP中创建自定义分页。步骤1:创建自定义分页类首先,我们需要创建一个自定义分页类。这个

Vue3中的render函数:自定义渲染函数Vue3中的render函数:自定义渲染函数Jun 18, 2023 pm 06:43 PM

Vue是一款流行的JavaScript框架,它提供了许多方便的功能和API以帮助开发者构建交互式的前端应用程序。随着Vue3的发布,render函数成为了一个重要的更新。本文将介绍Vue3中render函数的概念、用途和如何使用它自定义渲染函数。什么是render函数在Vue中,template是最常用的渲染方式,但是在Vue3中,可以使用另外一种方式:r

如何在装有 iOS 17 的 iPhone 上的 Apple Music 中启用和自定义交叉淡入淡出如何在装有 iOS 17 的 iPhone 上的 Apple Music 中启用和自定义交叉淡入淡出Jun 28, 2023 pm 12:14 PM

适用于iPhone的iOS17更新为AppleMusic带来了一些重大变化。这包括在播放列表中与其他用户协作,在使用CarPlay时从不同设备启动音乐播放等。这些新功能之一是能够在AppleMusic中使用交叉淡入淡出。这将允许您在曲目之间无缝过渡,这在收听多个曲目时是一个很棒的功能。交叉淡入淡出有助于改善整体聆听体验,确保您在音轨更改时不会受到惊吓或退出体验。因此,如果您想充分利用这项新功能,以下是在iPhone上使用它的方法。如何為AppleMusic啟用和自定Crossfade您需要最新的

Eclipse中自定义快捷键设置的方法Eclipse中自定义快捷键设置的方法Jan 28, 2024 am 10:01 AM

如何在Eclipse中自定义快捷键设置?作为一名开发人员,在使用Eclipse进行编码时,熟练掌握快捷键是提高效率的关键之一。Eclipse作为一款强大的集成开发环境,不仅提供了许多默认的快捷键,还允许用户根据自己的偏好进行个性化的定制。本文将介绍如何在Eclipse中自定义快捷键设置,并给出具体的代码示例。打开Eclipse首先,打开Eclipse,并进入

如何在CodeIgniter中实现自定义中间件如何在CodeIgniter中实现自定义中间件Jul 29, 2023 am 10:53 AM

如何在CodeIgniter中实现自定义中间件引言:在现代的Web开发中,中间件在应用程序中起着至关重要的作用。它们可以用来执行在请求到达控制器之前或之后执行一些共享的处理逻辑。CodeIgniter作为一个流行的PHP框架,也支持中间件的使用。本文将介绍如何在CodeIgniter中实现自定义中间件,并提供一个简单的代码示例。中间件概述:中间件是一种在请求

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

ホットツール

mPDF

mPDF

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

SublimeText3 英語版

SublimeText3 英語版

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

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

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

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境