ホームページ ウェブフロントエンド jsチュートリアル js では、文字列は単語数に基づいてインターセプトされますが、url_javascript ヒントはインターセプトできません

js では、文字列は単語数に基づいてインターセプトされますが、url_javascript ヒントはインターセプトできません

May 16, 2016 pm 05:57 PM
url インターセプト文字列

今日、次のリクエストを受け取りました。
1. テキストを入力し、出力テキストをインターセプトし、400 文字を保持します。
2. インターセプトされたコンテンツが URL である場合は、完全な URL アドレスを保持します。省略記号。....
----
URL を保持するのはさらに面倒です。特に 2 つの同一の URL がある場合、indexOf を使用してそれらの文字位置を取得することはできません。
処理結果:

関連コード:


コードをコピー コードは次のとおりです:
String.prototype.sizeAt = function(){
var nLen = 0;
for(var i = 0, end = this.length; i<end; i ){
nLen = this .charCodeAt(i)>128?2:1;
}
return nLen>}
String.prototype.cutStr = function(n, sCut){
if(this .sizeAt( ) <= n){
これを返します;
sCut = sCut ||
var max = n-sCut.sizeAt(); = 0;
var s = this;
for(var i =0,end = this.length;inLen = this.charCodeAt(i)>128?2 :1;
if(nLen>max){
s = this.slice(0,i);
s = sCut; return s.toString();
};
String.prototype.cutStrButUrl = function(n, sCut){
if(this.sizeAt() <=n){
これを返します。 toString() ;
sCut = sCut || "";
var s = this;
var aUrl = s.match(/https?://[a-zA-Z0-9] (.[a-zA-Z0-9] ) ([-_A-Z0-9a-z$. ! */ ,:;@&=?~#%]*)*/gi);
//最大文字数が URL の間にある場合、bCut は flase;
var bCut = true; 🎜>if(aUrl){
//各 URL を判定
for(var i=0, endI = aUrl.length;i<endI;i){
var sUrl = aUrl[ i]; 🎜>// 2 つの同一の URL が存在する可能性があります
var aP = s.split(sUrl);
var nLenURL = sUrl.sizeAt(); ;
for(j = 0, endJ = aP.length; jnCurr =aP[j].sizeAt(); sResult = sUrl;
//現在の単語数は max 未満ですが、URL を追加すると max を超えます: URL はインターセプトされます
if(nCurr < max && nCurr nLenURL>max){
s = sResult sCut;
break;
nCurr = nLenURL;
if(bCut === false)
};
}
if(bCut){
s = s.cutStr(n, sCut);
return s.toString() ; ;
console.log('通常の 20 文字のインターセプト'.cutStrButUrl(20,'...'));
console.log('通常の 20 文字のインターセプトですが、'.cutStrButUrl(20) ,'...'));
console.log('URL http://www.baidu.com の文字列を傍受できますか? '.cutStrButUrl(20,'...'));
console.log('http://www.baidu.com には同じ URL http://www.baidu.com? ' の文字列が 2 つあります。 CutStrButUrl(51, '...'));
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

PHP 関数の紹介 - get_headers(): URL の応答ヘッダー情報を取得します PHP 関数の紹介 - get_headers(): URL の応答ヘッダー情報を取得します Jul 25, 2023 am 09:05 AM

PHP 関数の紹介 - get_headers(): URL の応答ヘッダー情報を取得します

e からの NameResolutionError(self.host, self, e) の理由とその解決方法 e からの NameResolutionError(self.host, self, e) の理由とその解決方法 Mar 01, 2024 pm 01:20 PM

e からの NameResolutionError(self.host, self, e) の理由とその解決方法

いくつかの手順で Steam ID を取得するにはどうすればよいですか? いくつかの手順で Steam ID を取得するにはどうすればよいですか? May 08, 2023 pm 11:43 PM

いくつかの手順で Steam ID を取得するにはどうすればよいですか?

Java で URL エンコードとデコードを使用する方法 Java で URL エンコードとデコードを使用する方法 May 08, 2023 pm 05:46 PM

Java で URL エンコードとデコードを使用する方法

htmlとurlの違いは何ですか htmlとurlの違いは何ですか Mar 06, 2024 pm 03:06 PM

htmlとurlの違いは何ですか

Scrapy 最適化のヒント: 重複 URL のクロールを減らし、効率を向上させる方法 Scrapy 最適化のヒント: 重複 URL のクロールを減らし、効率を向上させる方法 Jun 22, 2023 pm 01:57 PM

Scrapy 最適化のヒント: 重複 URL のクロールを減らし、効率を向上させる方法

SpringBootの複数のコントローラにURLプレフィックスを追加する方法 SpringBootの複数のコントローラにURLプレフィックスを追加する方法 May 12, 2023 pm 06:37 PM

SpringBootの複数のコントローラにURLプレフィックスを追加する方法

nginx URLリダイレクトを設定する方法 nginx URLリダイレクトを設定する方法 May 12, 2023 am 10:31 AM

nginx URLリダイレクトを設定する方法

See all articles