[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/String/isWellFormed [Back]  [Original]

String.prototype.isWellFormed() - JavaScript | MDN

Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.

View in English Always switch to English

String.prototype.isWellFormed()

Baseline Weitgehend verfgbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit Oktober 2023 browserbergreifend verfgbar.

Die isWellFormed() Methode von String Werten gibt einen Booleschen Wert zurck, der anzeigt, ob diese Zeichenkette lone surrogates enthlt.

In diesem Artikel

Syntax

js
isWellFormed()

Parameter

Keine.

Rckgabewert

Gibt true zurck, wenn diese Zeichenkette keine lone surrogates enthlt, andernfalls false.

Beschreibung

Zeichenketten in JavaScript sind UTF-16-kodiert. Die UTF-16-Kodierung hat das Konzept der Surrogatpaare, die im Abschnitt UTF-16-Zeichen, Unicode-Codierungen und Graphem-Cluster ausfhrlich erlutert werden.

isWellFormed() ermglicht es Ihnen zu testen, ob eine Zeichenkette wohlgeformt ist (d.h. keine lone surrogates enthlt). Im Vergleich zu einer benutzerdefinierten Implementierung ist isWellFormed() effizienter, da Engines direkt auf die interne Reprsentation von Zeichenketten zugreifen knnen. Wenn Sie eine Zeichenkette in eine wohlgeformte Zeichenkette umwandeln mssen, verwenden Sie die toWellFormed() Methode. isWellFormed() erlaubt es, fehlerhafte Zeichenketten anders zu behandeln als wohlgeformte, wie z.B. das Werfen eines Fehlers oder das Markieren als ungltig.

Beispiele

Verwendung von isWellFormed()

js
const strings = [
  // Lone leading surrogate
  "ab\uD800",
  "ab\uD800c",
  // Lone trailing surrogate
  "\uDFFFab",
  "c\uDFFFab",
  // Well-formed
  "abc",
  "ab\uD83D\uDE04c",
];

for (const str of strings) {
  console.log(str.isWellFormed());
}
// Logs:
// false
// false
// false
// false
// true
// true

Vermeidung von Fehlern in encodeURI()

encodeURI lst einen Fehler aus, wenn die bergebene Zeichenkette nicht wohlgeformt ist. Dies kann vermieden werden, indem isWellFormed() verwendet wird, um die Zeichenkette zu testen, bevor sie an encodeURI() bergeben wird.

js
const illFormed = "https://example.com/search?q=\uD800";

try {
  encodeURI(illFormed);
} catch (e) {
  console.log(e); // URIError: URI malformed
}

if (illFormed.isWellFormed()) {
  console.log(encodeURI(illFormed));
} else {
  console.warn("Ill-formed strings encountered."); // Ill-formed strings encountered.
}

Spezifikationen

Spezifikation
ECMAScript 2027 LanguageSpecification
# sec-string.prototype.iswellformed

Browser-Kompatibilitt

Siehe auch


Web Proxy Viewer  |  New URL  |  Original Page