Heim  >  Artikel  >  Web-Frontend  >  Zusammenfassung des Abfangens von Zeichenfolgen mit Javascript_Javascript-Kenntnissen

Zusammenfassung des Abfangens von Zeichenfolgen mit Javascript_Javascript-Kenntnissen

WBOY
WBOYOriginal
2016-05-16 16:01:501536Durchsuche

In diesem Artikel werden drei Methoden zum Abfangen von Zeichenfolgen mit Javascript zusammengefasst und vorgestellt. Außerdem werden zwei Methoden zum Abfangen chinesischer Zeichenfolgen zusammengefasst.

1.substring-Methode

Definition und Verwendung
Die Teilzeichenfolgenmethode wird verwendet, um Zeichen zwischen zwei angegebenen Indizes in einer Zeichenfolge zu extrahieren.

Grammatik
stringObject.substring(start,stop)

Parameterbeschreibung
Start ist erforderlich. Eine nichtnegative Ganzzahl, die die Position des ersten Zeichens der zu extrahierenden Teilzeichenfolge in stringObject angibt.
Stopp ist optional. Eine nichtnegative Ganzzahl, die sich um eine Position im stringObject befindet, also um eins mehr als das letzte Zeichen der zu extrahierenden Teilzeichenfolge. Wenn dieser Parameter weggelassen wird, wird die zurückgegebene Teilzeichenfolge an das Ende der Zeichenfolge verschoben.

Rückgabewert
Ein neuer String-Wert, der einen Teilstring von stringObject enthält, der alle Zeichen von Start bis Stop-1 enthält und eine Länge von Stop minus Start hat.

Beschreibung
Die von der Teilzeichenfolgenmethode zurückgegebene Teilzeichenfolge enthält die Zeichen am Anfang, jedoch nicht die Zeichen am Ende.
Wenn Start und Ende gleich sind, gibt diese Methode einen leeren String zurück (d. h. einen String der Länge 0).
Wenn start größer als end ist, vertauscht die Methode die beiden Parameter, bevor sie die Teilzeichenfolge extrahiert.
Wenn Start oder Ende negativ sind, wird es durch 0 ersetzt.
Spezifische Anwendungsfälle:

var str = "0123456789"; 
alert(str.substring(0));------------"0123456789" 
alert(str.substring(5));------------"56789" 
alert(str.substring(10));-----------"" 
alert(str.substring(12));-----------"" 
alert(str.substring(-5));-----------"0123456789" 
alert(str.substring(-10));----------"0123456789" 
alert(str.substring(-12));----------"0123456789" 
alert(str.substring(0,5));----------"01234" 
alert(str.substring(0,10));---------"0123456789" 
alert(str.substring(0,12));---------"0123456789" 
alert(str.substring(2,0));----------"01" 
alert(str.substring(2,2));----------"" 
alert(str.substring(2,5));----------"234" 
alert(str.substring(2,12));---------"23456789" 
alert(str.substring(2,-2));---------"01" 
alert(str.substring(-1,5));---------"01234" 
alert(str.substring(-1,-5));--------"" 

2.substr-Methode

Definition und Verwendung
Die substr-Methode wird verwendet, um einen Teilstring einer angegebenen Länge zurückzugeben, beginnend an einer angegebenen Position.

Grammatik
stringObject.substr(start [, length ])

Parameterbeschreibung
Start ist erforderlich. Die Startposition des gewünschten Teilstrings. Das erste Zeichen in der Zeichenfolge hat den Index 0.
Die Länge ist optional. Die Anzahl der Zeichen, die in der zurückgegebenen Teilzeichenfolge enthalten sein sollen.

Beschreibung
Wenn die Länge 0 oder negativ ist, wird eine leere Zeichenfolge zurückgegeben.
Wenn dieser Parameter nicht angegeben ist, wird der Teilstring bis zum Ende von stringObject fortgesetzt.

Spezifische Anwendungsfälle:

var str = "0123456789"; 
alert(str.substr(0));---------------"0123456789" 
alert(str.substr(5));---------------"56789" 
alert(str.substr(10));--------------"" 
alert(str.substr(12));--------------"" 
alert(str.substr(-5));--------------"0123456789" 
alert(str.substr(-10));-------------"0123456789" 
alert(str.substr(-12));-------------"0123456789" 
alert(str.substr(0,5));-------------"01234" 
alert(str.substr(0,10));------------"0123456789" 
alert(str.substr(0,12));------------"0123456789" 
alert(str.substr(2,0));-------------"" 
alert(str.substr(2,2));-------------"23" 
alert(str.substr(2,5));-------------"23456" 
alert(str.substr(2,12));------------"23456789" 
alert(str.substr(2,-2));------------"" 
alert(str.substr(-1,5));------------"01234" 
alert(str.substr(-1,-5));-----------"" 

3. Benutzerdefinierte Methode

Die beiden oben genannten Methoden können nur Englisch und Zahlen abfangen. Wenn Sie auf Chinesisch stoßen, führt dies zu verstümmelten Zeichen. Nach meiner eigenen Zertifizierung und Recherche habe ich schließlich zwei Methoden zusammengefasst, die Javascript zum Abfangen verwenden können Zeichenfolgen mit chinesischer Methode:

Erste Methode:

String.prototype.sub=function(n){ 
  var r=/[^\x00-\xff]/g; 
  if(this.replace(r,"mm").length<=n){return this;} 
  var m=Math.floor(n/2); 
  for(var i=m;i<this.length;i++){ 
    if(this.substr(0,i).replace(r,"mm").length>=n){ 
      return this.substr(0,i)+"..."; 
    } 
  } 
  return this; 
} 

Zweite Methode:
// Zeichenfolge abfangen, einschließlich chinesischer Verarbeitung, Parameterbedeutung: (Zeichenfolge, Abfanglänge, ob erhöht werden soll ...)

function subString(str, len, hasDot){ 
  var newLength=0; 
  var newStr=""; 
  var chineseRegex=/[^\x00-\xff]/g; 
  var singleChar=''; 
  var strLength=str.replace(chineseRegex,'**').length; 
  for(var i=0;i < strLength;i++){ 
  singleChar=str.charAt(i).toString(); 
  if(singleChar.match(chineseRegex) != null){ 
    newLength+=2; 
  }else{ 
    newLength++; 
  } 
  if(newLength>len){ 
    break; 
  } 
  newStr+=singleChar; 
  } 
   
  if(hasDot && strLength>len){ 
    newStr+='...'; 
  } 
  return newStr; 
} 

Die spezifische Verwendungsmethode für die Verwendung von Js zum Abfangen chinesischer Zeichenfolgen ist wie folgt:

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Javascript字符串截取处理总结(Js截取中文字符串总结)</title> 
<script language="javascript"> 
String.prototype.sub=function(n){var r=/[^\x00-\xff]/g;if(this.replace(r,"mm").length<=n){return this}var m=Math.floor(n/2);for(var i=m;i<this.length;i++){if(this.substr(0,i).replace(r,"mm").length>=n){return this.substr(0,i)+"..."}}return this}; 
function subString(str,len,hasDot){var newLength=0;var newStr="";var chineseRegex=/[^\x00-\xff]/g;var singleChar='';var strstrLength=str.replace(chineseRegex,'**').length;for(var i=0;i<strLength;i++){singleChar=str.charAt(i).toString();if(singleChar.match(chineseRegex)!=null){newLength+=2}else{newLength++}if(newLength>len){break}newStr+=singleChar}if(hasDot&&strLength>len){newStr+='...'}return newStr} 
</script> 
</head> 
<body> 
<script language="javascript"> 
var str='我爱www.jb51.net'; 
alert(str.sub(10)); 
alert(subString(str,10,false)); 
</script> 
</body> 
</html> 

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er gefällt Ihnen allen.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn