Voorkomen van JavaScript-tekenreeks. Syntaxis van tekenreeksvariabelen. Alternatieve tekenreekssyntaxis

Als semantische “frameworks” voor het gebruik van functies en constructies voor het verwerken van strings zijn ze van bijzonder belang voor het programmeren van informatieverwerkingsprocessen volgens hun semantische inhoud. Op de tong JavaScript-functies bewerkingen met strings kunnen worden gecombineerd tot uw eigen semantische constructies, waardoor de code wordt vereenvoudigd en geformaliseerd vakgebied taken.

IN klassieke versie informatieverwerking bestaat voornamelijk uit stringfuncties. Elke functie en constructie van de taal heeft zijn eigen kenmerken in de syntaxis en semantiek van JavaScript. De methoden om hier met tekenreeksen te werken hebben hun eigen stijl, maar over het algemeen is het slechts syntaxis binnen eenvoudige semantiek: zoeken, vervangen, invoegen, extraheren, connotatie, hoofdlettergebruik wijzigen...

Beschrijving van tekenreeksvariabelen

Gebruik de constructie om een ​​string te declareren var. U kunt de waarde ervan onmiddellijk instellen of genereren tijdens de uitvoering van het algoritme. Voor een tekenreeks kunt u enkele of dubbele aanhalingstekens gebruiken. Als het een aanhalingsteken moet bevatten, moet het worden geëscaped met het teken "\".

De aangegeven regel vereist dat de interne dubbele aanhalingstekens worden geëscaped. Op dezelfde manier is degene gemarkeerd met enkele aanhalingstekens van cruciaal belang voor de aanwezigheid van enkele aanhalingstekens binnenin.

IN in dit voorbeeld de string "str_dbl" bevat nuttige speciale tekens die in de string kunnen worden gebruikt. In dit geval wordt het teken “\” zelf geëscaped.

Een string is altijd een array

JavaScript kan op verschillende manieren met tekenreeksen werken. De taalsyntaxis biedt vele opties. Allereerst mag men nooit vergeten dat (in de context van de gemaakte beschrijvingen):

  • str_isV => "V";
  • str_chr => """;
  • str_dbl => "een".

Dat wil zeggen dat de karakters van de string bij elk beschikbaar zijn als array-elementen speciaal karakter- dit is één karakter. Ontsnappen is een syntaxiselement. Er wordt geen “scherm” op de eigenlijke lijn geplaatst.

Het gebruik van de functie charAt() heeft een soortgelijk effect:

  • str_isV.charAt(3) => "V";
  • str_chr.charAt(1) => """;
  • str_dbl.charAt(5) => “een”.

De programmeur kan elke optie gebruiken.

Basisstringfuncties

In JavaScript wordt het iets anders gedaan dan in andere talen. De naam van de variabele (of de string zelf) wordt gevolgd door de naam van de functie, gescheiden door een punt. Meestal worden tekenreeksfuncties methoden genoemd in de stijl van de taalsyntaxis, maar het eerste woord is bekender.

De belangrijkste methode van een string (beter gezegd: een eigenschap) is de lengte ervan.

  • var xStr = str_isV.length + "/" + str_chr.length + "/" + str_dbl.length.

Resultaat: 11/12/175 volgens de regels van de bovenstaande beschrijving.

Het belangrijkste paar stringfuncties is het splitsen van een string in een array van elementen en het samenvoegen van de array tot een string:

  • splitsing(en [, l]);
  • meedoen(en).

In het eerste geval wordt de string bij het scheidingsteken “s” gesplitst in een array van elementen waarin het aantal elementen de waarde “l” niet overschrijdt. Als het aantal niet is opgegeven, wordt de hele regel verbroken.

In het tweede geval wordt de reeks elementen samengevoegd tot één lijn via een bepaald scheidingsteken.

Een opvallend kenmerk van dit paar: splitsen kan worden gedaan met behulp van één scheidingsteken, en samenvoegen kan worden gedaan met behulp van een ander scheidingsteken. In deze context kan JavaScript werken met tekenreeksen "buiten" de syntaxis van de taal.

Klassieke stringfuncties

Algemene stringverwerkingsfuncties:

  • zoekopdracht;
  • steekproef;
  • vervanging;
  • transformatie.

Vertegenwoordigd door methoden: indexOf(), lastIndexOf(), toLowerCase(), toUpperCase(), concan(), charCodeAt() en andere.

In JavaScript wordt het werken met strings vertegenwoordigd door een grote verscheidenheid aan functies, maar ze dupliceren elkaar of worden overgelaten aan oude algoritmen en compatibiliteit.

Het gebruik van de methode concat() is bijvoorbeeld acceptabel, maar het is gemakkelijker om te schrijven:

  • str = str1 + str2 + str3;

Het gebruik van de functie charAt() is ook logisch, maar het gebruik van charCodeAt() heeft echt effect praktische betekenis. Op dezelfde manier heeft een regeleinde voor JavaScript een speciale betekenis: in de context van weergave in bijvoorbeeld een alert()-bericht is dit “\n”, in een constructie voor het genereren van pagina-inhoud is dit “
" In het eerste geval is het slechts een teken, en in het tweede geval is het een reeks tekens.

Tekenreeksen en reguliere expressies

In JavaScript omvat het werken met tekenreeksen een mechanisme voor reguliere expressies. Hierdoor kunnen complexe zoekopdrachten, ophaalacties en tekenreeksconversies in de browser worden uitgevoerd zonder contact op te nemen met de server.

Methode overeenkomst vondsten, en vervangen vervangt de gevonden overeenkomst door de gewenste waarde. Reguliere expressies worden op een hoog niveau in JavaScript geïmplementeerd, zijn inherent complex en vanwege de specifieke kenmerken van hun toepassing verplaatsen ze het zwaartepunt van de server naar de browser van de client.

Bij het toepassen van methoden overeenkomen, zoeken En vervangen niet alleen moet de nodige aandacht worden besteed aan testen over het hele spectrum aanvaardbare waarden initiële parameters en zoekreeksen, maar evalueren ook de belasting van de browser.

Voorbeelden van reguliere expressies

De reikwijdte van reguliere expressies voor het verwerken van tekenreeksen is uitgebreid, maar vereist grote zorg en aandacht van de ontwikkelaar. Allereerst worden reguliere expressies gebruikt bij het testen van gebruikersinvoer in formuliervelden.

Hier zijn functies die controleren of de invoer een geheel getal (schInt) of een reëel getal (schReal) bevat. Het volgende voorbeeld laat zien hoe efficiënt het is om tekenreeksen te verwerken door ze alleen op geldige tekens te controleren: schText - alleen tekst, schMail - juiste adres e-mail.

Het is erg belangrijk om te onthouden dat in JavaScript tekens en tekenreeksen vereist zijn verhoogde aandacht aan de landinstelling, vooral als u met Cyrillisch moet werken. In veel gevallen is het raadzaam om de daadwerkelijke tekencodes te specificeren in plaats van hun betekenis. Dit geldt vooral voor Russische brieven.

Er moet vooral worden opgemerkt dat het niet altijd nodig is om de taak uit te voeren zoals deze is gesteld. In het bijzonder wat betreft het controleren van gehele getallen en reële getallen: je kunt niet rondkomen met klassieke stringmethoden, maar conventionele ontwerpen syntaxis.

Objectgeoriënteerde tekenreeksen

In JavaScript wordt het werken met strings vertegenwoordigd door een breed scala aan functies. Maar dit is geen goede reden om ze in hun oorspronkelijke vorm te gebruiken. De syntaxis en kwaliteit van de functies zijn onberispelijk, maar het is een one-size-fits-all oplossing.

Elke toepassing string-functies gaat om verwerking echte betekenis, die wordt bepaald door de gegevens, het toepassingsgebied en het specifieke doel van het algoritme.

De ideale oplossing is altijd om gegevens op hun betekenis te interpreteren.

Door elke parameter als een object weer te geven, kunt u functies formuleren om ermee te werken. Altijd waar we het over hebben over symboolverwerking: getallen of strings zijn reeksen symbolen die op een specifieke manier zijn georganiseerd.

Er zijn algemene algoritmen en er zijn privé-algoritmen. Een achternaam of huisnummer zijn bijvoorbeeld tekenreeksen, maar als in het eerste geval alleen Russische letters zijn toegestaan, dan zijn in het tweede geval cijfers Russische letters toegestaan ​​en kunnen er koppeltekens of indices staan, gescheiden door een schuine streep. Indexen kunnen alfabetisch of numeriek zijn. Het huis kan gebouwen bevatten.

Het is niet altijd mogelijk om alle situaties te voorzien. Dit belangrijk punt bij het programmeren. Het is een zeldzaam algoritme dat geen aanpassing behoeft, en in de meeste gevallen is het noodzakelijk om de functionaliteit systematisch aan te passen.

Het formaliseren van de verwerkte regelinformatie in de vorm van een object verbetert de leesbaarheid van de code en maakt het mogelijk deze op het niveau van semantische verwerking te brengen. Dit is een andere mate van functionaliteit en aanzienlijk beste kwaliteit code met een grotere betrouwbaarheid van het ontwikkelde algoritme.

Er zijn verschillende manieren om subtekenreeksen in JavaScript te selecteren, waaronder subtekenreeks(), substr(), plak() en functies regexp.

In JavaScript 1.0 en 1.1 is subtekenreeks() bestaat als de enige eenvoudige manier om een ​​deel van een grotere reeks te selecteren. Om bijvoorbeeld de lijn te selecteren druk van Uitdrukking, gebruik "Expressie".substring(2,7). De eerste parameter van de functie is de karakterindex waar de selectie begint, terwijl de tweede parameter de karakterindex is waar de selectie eindigt (exclusief): subtekenreeks(2,7) omvat indexen 2, 3, 4, 5 en 6.

In JavaScript 1.2 zijn functies substr(), plak() En regexp kan ook worden gebruikt om snaren te splitsen.

Substr() gedraagt ​​zich op dezelfde manier als onderstr de Pearl-taal, waarbij de eerste parameter de tekenindex aangeeft waarop de selectie begint, terwijl de tweede parameter de lengte van de subtekenreeks specificeert. Om dezelfde taak uit te voeren als in het vorige voorbeeld, moet u gebruiken "Expressie".substr(2,5). Onthoud dat 2 het startpunt is en 5 de lengte van de resulterende subtekenreeks.

Bij gebruik op snaren, plak() gedraagt ​​zich op dezelfde manier als de functie subtekenreeks(). Dit is echter veel meer krachtig hulpmiddel, kan functioneren met elk type array, en niet alleen met strings. plak() maakt ook gebruik van negatieve offsets om toegang te krijgen tot de gewenste positie, beginnend vanaf het einde van de regel. "Expressie".slice(2,-3) retourneert de gevonden subtekenreeks tussen het tweede teken en het derde teken vanaf het einde, door nogmaals op te drukken.

Nieuwste en meest universele methode om met substrings te werken - dit is een work-through reguliere functies expressies in JavaScript 1.2. Nogmaals, let op hetzelfde voorbeeld, de substring "druk" verkregen uit de string "Uitdrukking":

Write("Expressie".match(/druk/));

Inbouwobject Snaar

Voorwerp Snaar Dit is een objectimplementatie van een primitieve tekenreekswaarde. De constructor ziet er als volgt uit:

Nieuwe tekenreeks( betekenis?)

Hier betekenis elke tekenreeksexpressie die de primitieve waarde van een object specificeert. Als dit niet is opgegeven, is de primitieve waarde van het object "" .

Eigenschappen van het String-object:

bouwer De constructor die het object heeft gemaakt. Aantal tekens per regel. prototype

Een verwijzing naar het prototype van de objectklasse.

Retourneert het teken op de opgegeven positie in de tekenreeks. Retourneert de code van het teken dat zich op een bepaalde positie in de tekenreeks bevindt. Retourneert een aaneenschakeling van tekenreeksen.

Creëert een tekenreeks van tekens die zijn opgegeven door Unicode-codes.

Retourneert de positie van het eerste exemplaar van de opgegeven subtekenreeks. Retourneert de positie van het laatste exemplaar van de opgegeven subtekenreeks. (… Vergelijkt twee tekenreeksen op basis van taal … besturingssysteem … besturingssysteem … besturingssysteem … besturingssysteem … besturingssysteem … besturingssysteem …. Matcht een string met een reguliere expressie. Vergelijkt een tekenreeks met een reguliere expressie en vervangt de gevonden subtekenreeks door een nieuwe subtekenreeks. … besturingssysteem … besturingssysteem … besturingssysteem ….

Matcht een string met een reguliere expressie.

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen. Retourneert een subtekenreeks gegeven door positie en lengte. Retourneert een subtekenreeks die is opgegeven door de begin- en eindposities. Converteert alle letters van een tekenreeks naar kleine letters, rekening houdend met de taal van het besturingssysteem.

Converteert alle letters in een tekenreeks naar hoofdletters op basis van de taal van het besturingssysteem. Converteert alle letters in een tekenreeks naar kleine letters. Converteert een object naar een tekenreeks.

Converteert alle letters in een tekenreeks naar hoofdletters.

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen. Retourneert de primitieve waarde van het object. Niet-standaardmethoden van het String-object) Creëert: Niet-standaardmethoden van het String-object HTML-bladwijzer).

Methode Verpakt een string in tags . Verpakt een string in tags …. Creëert HTML-hyperlink ().") .

Verpakt een string in tags

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen. lengte eigendom HTML-bladwijzer).

Methode Syntaxis voorwerp . Verpakt een string in tags ….lengte Kenmerken: (DontEnum, DontDelete, ReadOnly)

Waarde van onroerend goed

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen. lengte HTML-bladwijzer).

Methode is het aantal tekens in de regel. Voor een lege string is deze waarde nul. anker methode . Verpakt een string in tags …. Er is geen controle om te zien of de originele string al tussen deze tags zat. Deze methode wordt gebruikt in combinatie met de methoden document.write en document.writeln om tekst in een knipperend lettertype weer te geven. Gespecificeerde tags maken geen deel uit van de HTML-standaard en worden alleen ondersteund door Netscape- en WebTV-browsers. De verklaring document.write("Mijn tekst".blink()) zal bijvoorbeeld de tekenreeks Mijn tekst op het browserscherm weergeven.

gewaagde methode

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen..vetgedrukt() HTML-bladwijzer).

Methode vetgedrukt anker methode . Verpakt een string in tags …. Er is geen controle om te zien of de originele string al tussen deze tags zat. Deze methode wordt gebruikt in combinatie met de methoden document.write en document.writeln om tekst vetgedrukt weer te geven. De operator document.write("Mijn tekst".bold()) geeft bijvoorbeeld de regel weer .

Mijn tekst

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen. charAt-methode .charAt() Creëert: .charAt( positie HTML-bladwijzer).

Methode elke numerieke uitdrukking tekenAt retourneert een tekenreeks die bestaat uit het teken dat zich in het gegeven bevindt posities . primitieve tekenreekswaarde Splitst een tekenreeks in een array van subtekenreeksen.. Lijntekenposities zijn genummerd van nul tot . -1. Als de positie buiten dit bereik valt, keert deze terug

lege tekenreeks

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen.. De instructie document.write("String".charAt(0)) zal bijvoorbeeld het teken C op het browserscherm afdrukken. .charAt() Creëert: .charAt( positie HTML-bladwijzer: charCodeAt-methode

Methode elke numerieke uitdrukking.charCodeAt( retourneert een tekenreeks die bestaat uit het teken dat zich in het gegeven bevindt posities . numerieke waarde Splitst een tekenreeks in een array van subtekenreeksen.. Lijntekenposities zijn genummerd van nul tot retourneert een getal dat gelijk is aan de Unicode-code van het teken dat zich in het gegeven bevindt. Lijntekenposities zijn genummerd van nul tot NaN.

De instructie document.write("String".charCodeAt(0).toString(16)) wordt bijvoorbeeld weergegeven

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen. hexadecimale code Russische letter "S": 421., concat-methode, …, .concat() Creëert: Russische letter "S": 421., concat-methode, …, .concat( lijn0 HTML-bladwijzer).

Methode lijn1 tekenreeksN

Splitst een tekenreeks in een array van subtekenreeksen. + Russische letter "S": 421. + concat-methode + … + .concat(

eventuele tekenreeksexpressies

concat

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen. retourneert een nieuwe tekenreeks die de aaneenschakeling is van de oorspronkelijke tekenreeks en de methode-argumenten. Deze methode is gelijkwaardig aan de bewerking HTML-bladwijzer).

Methode De operator document.write("Frost and sun..concat("Wonderful day.")) geeft bijvoorbeeld de regel Frost and sun op het browserscherm weer. Het is een prachtige dag. anker methode . Verpakt een string in tags … vaste methode

.vast()

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen. vast Creëert: . Er is geen controle om te zien of de originele string al tussen deze tags zat. Deze methode wordt gebruikt in combinatie met de methoden document.write en document.writeln om tekst in een teletype-lettertype weer te geven. De verklaring document.write("Mijn tekst".fixed()) zal bijvoorbeeld de tekenreeks Mijn tekst op het browserscherm weergeven. HTML-bladwijzer).

Methode lettertypekleur methode anker methode . Verpakt een string in tags .>….

Er is geen controle om te zien of de originele string al tussen deze tags zat. Deze methode wordt gebruikt in combinatie met de methoden document.write en document.writeln om tekst in een opgegeven kleur weer te geven. De verklaring document.write("Mijn tekst".fontcolor("red")) zal bijvoorbeeld de tekenreeks Mijn tekst op het browserscherm weergeven.

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen. lettertypegrootte methode .lettergrootte() Creëert: .lettergrootte( maat HTML-bladwijzer).

Methode numerieke expressie anker methode . Verpakt een string in tags … lettergrootte . Er is geen controle om te zien of de originele string al tussen deze tags zat. Deze methode wordt gebruikt in combinatie met de methoden document.write en document.writeln om tekst in een lettertype weer te geven

gegeven maat

Haalt een deel van een string op en retourneert een nieuwe string. . De verklaring document.write("Mijn tekst".fontsize(5)) zal bijvoorbeeld de string Mijn tekst op het browserscherm weergeven. fromCharCode-methode, : String.fromCharCode(, …, code1) Creëert: fromCharCode-methode, : String.fromCharCode(, …, code1 code2 HTML-bladwijzer).

Methode codeN numerieke uitdrukkingen van CharCode creëert een nieuwe string (maar geen stringobject) die een aaneenschakeling is fromCharCode-methode, : String.fromCharCode(, …, code1.

Unicode-tekens met codes Dit Snaar statische methode

voorwerp

, zodat u niet specifiek een stringobject hoeft te maken om er toegang toe te krijgen. Voorbeeld:

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen. Var s = String.fromCharCode(65, 66, 67); // s is gelijk aan "ABC" indexVan methode[,.indexOf(]?) Creëert: indexVan methode subtekenreeks .indexOf( positie HTML-bladwijzer begin

Methode elke tekenreeksexpressie: numerieke waarde indexVan keert terug naar de eerste positie .. Splitst een tekenreeks in een array van subtekenreeksen. .indexOf( .indexOf( .indexOf( .indexOf( subtekenreeksen Splitst een tekenreeks in een array van subtekenreeksen. Splitst een tekenreeks in een array van subtekenreeksen.

in de primitieve tekenreekswaarde

meer dan

Er wordt van links naar rechts gezocht. Voor het overige is deze methode identiek aan de methode.

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen. In het volgende voorbeeld wordt het aantal keren dat het subtekenreekspatroon voorkomt in de tekenreeks str geteld. HTML-bladwijzer).

Methode Functie optreden(str, patroon) ( var pos = str.indexOf(patroon); for (var count = 0; pos != -1; count++) pos = str.indexOf(patroon, pos + patroon.lengte); return count ;) anker methode . Verpakt een string in tags … Cursieve methode Er is geen controle om te zien of de originele string al tussen deze tags zat. Deze methode wordt gebruikt in combinatie met de methoden document.write en document.writeln om tekst vetgedrukt weer te geven. De operator document.write("Mijn tekst".bold()) geeft bijvoorbeeld de regel weer .

.cursief()

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen. cursief indexVan methode[,.indexOf(]?) Creëert: indexVan methode subtekenreeks .indexOf( positie HTML-bladwijzer begin

Methode . Er is geen controle om te zien of de originele string al tussen deze tags zat. Deze methode wordt gebruikt in combinatie met de methoden document.write en document.writeln om tekst cursief weer te geven. De operator document.write("Mijn tekst".italics()) zal de regel bijvoorbeeld weergeven indexVan lastIndexOf-methode . Splitst een tekenreeks in een array van subtekenreeksen..laatsteIndexOf( .indexOf( laatsteIndexOf .indexOf( geeft de laatste positie terug .indexOf( in de primitieve tekenreekswaarde .indexOf( subtekenreeksen Splitst een tekenreeks in een array van subtekenreeksen.. -1. Splitst een tekenreeks in een array van subtekenreeksen. Als er een optioneel argument wordt opgegeven

, dan wordt de zoekopdracht uitgevoerd vanaf de positie

;

zo niet, dan vanaf positie 0, d.w.z. vanaf het eerste teken van de regel. Als

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen. negatief, dan wordt het gelijk aan nul gesteld; Als . -1, dan wordt het gelijk genomen) Creëert: . -1, dan wordt het gelijk genomen elke tekenreeksexpressie HTML-bladwijzer).

Methode link anker methode ., ingesloten in uri-tags"> . Er is geen controle om te zien of de brontekenreeks al tussen deze tags zat. Deze methode wordt gebruikt in combinatie met de methoden document.write en document.writeln om een ​​hyperlink in een HTML-document te maken met de opgegeven . -1, dan wordt het gelijk genomen. De instructie document.write("My Text.link("#Bookmark")) is bijvoorbeeld gelijk aan de instructie document.write("My Text") .

localeCompare-methode

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen..localeVergelijk( concat-methode) Creëert: concat-methode elke tekenreeksexpressie HTML-bladwijzer: nummer

Steun

Methode localeVergelijk vergelijkt twee strings, rekening houdend met de nationale instellingen van het besturingssysteem. Het retourneert -1 als een primitieve waarde is . minder lijnen1, +1 als het groter is lijnen1, en 0 als deze waarden hetzelfde zijn.

match methode

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen..overeenkomst( Regvyr) Creëert: Regvyr HTML-bladwijzer: reeks tekenreeksen

Methode overeenkomst Regvyr .. Het resultaat van de match is een array van gevonden substrings of nul, als er geen overeenkomsten zijn. In dit geval:

  • Als Regvyr bevat geen optie mondiale zoektocht, waarna de methode wordt uitgevoerd Regvyr.uitvoerend(Splitst een tekenreeks in een array van subtekenreeksen.) en het resultaat wordt geretourneerd. De resulterende array bevat de gevonden subtekenreeks in het element met index 0, en de overige elementen bevatten subtekenreeksen die overeenkomen met de subexpressies Regvyr, tussen haakjes.
  • Als Regvyr bevat een globale zoekoptie en vervolgens de methode Regvyr.uitvoerend(Splitst een tekenreeks in een array van subtekenreeksen.) wordt uitgevoerd zolang er overeenkomsten worden gevonden. Als n het aantal gevonden overeenkomsten is, is het resultaat een array van n elementen die de gevonden substrings bevatten. Eigendom Regvyr.laatsteIndex een positienummer toegewezen in de bronreeks dat verwijst naar het eerste teken na de laatst gevonden overeenkomst, of 0 als er geen overeenkomsten zijn gevonden.

Er moet aan worden herinnerd dat de methode Regvyr.uitvoerend verandert objecteigenschappen Regvyr. Voorbeelden:

methode vervangen

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen..vervangen( Regvyr,lijn) Splitst een tekenreeks in een array van subtekenreeksen..vervangen( Regvyr,functie) Creëert: Regvyr reguliere expressie tekenreeks tekenreeksexpressie functie functienaam of functiedeclaratie HTML-bladwijzer: nieuwe lijn

Methode vervangen komt overeen met reguliere expressie Regvyr met een primitieve tekenreekswaarde . en vervangt de gevonden substrings door andere substrings. Het resultaat is een nieuwe string, die een kopie is van de originele string, waarbij de vervangingen zijn aangebracht. De vervangingsmethode wordt bepaald door de globale zoekoptie in Regvyr en het type van het tweede argument.

Als Regvyr geen globale zoekoptie bevat, wordt er gezocht naar de eerste subtekenreeks die overeenkomt Regvyr en deze wordt vervangen. Regvyr Als Regvyr bevat een globale zoekoptie, waarna alle substrings overeenkomen

lijn, en ze worden vervangen. , dan wordt elke gevonden subtekenreeks ermee vervangen. In dit geval kan de regel de volgende objecteigenschappen bevatten, zoals $1 , $9 , lastMatch , lastParen , leftContext en rightContext .

De operator document.write("Lekkere appels, sappige appels.".replace(/apples/g, "peren")) zal bijvoorbeeld de string Heerlijke peren, sappige peren op het browserscherm weergeven. functie Als het tweede argument dat is Regvyr, dan wordt elke gevonden subtekenreeks vervangen door deze functie aan te roepen. De functie heeft de volgende argumenten. Het eerste argument is de gevonden subtekenreeks, gevolgd door argumenten die overeenkomen met alle subexpressies vervangen, tussen haakjes, is het voorlaatste argument de positie van de gevonden subtekenreeks in de bronreeks, geteld vanaf nul, en het laatste argument is de bronreeks zelf. In het volgende voorbeeld ziet u hoe u de methode gebruikt

je kunt een functie schrijven om Fahrenheit naar Celsius om te zetten. Het gegeven scenario

Functie myfunc($0,$1) ( return (($1-32) * 5 / 9) + "C"; ) functie f2c(x) ( var s = String(x); return s.replace(/(\d+( \.\d*)?)F\b/, mijnfunc); ) document.write(f2c("212F"));

zal de regel 100C op het browserscherm weergeven. Regvyr.

Houd er rekening mee dat deze methode de eigenschappen van het object verandert

Voorbeeld vervangen

Het vervangen van alle exemplaren van een substring in een string

Het komt vaak voor dat u alle exemplaren van één string moet vervangen door een andere string:

Var str = "foobarfoobar"; str=str.vervangen(/foo/g,"xxx"); // het resultaat is str = "xxxbarxxxbar";

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen. zoekmethode Regvyr) Creëert: Regvyr.zoekopdracht( HTML-bladwijzer elke reguliere expressie

Methode : numerieke expressie komt overeen met reguliere expressie Regvyr met een primitieve tekenreekswaarde . zoekopdracht Regvyr. Het resultaat van de match is de positie van de eerste gevonden substring, geteld vanaf nul, of -1 als er geen matches zijn. Tegelijkertijd is de globale zoekoptie in Regvyr wordt genegeerd, en eigenschappen

verander niet.

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen. Voorbeelden: .indexOf( [,slice-methode]?) Creëert: .indexOf( En slice-methode.plak( HTML-bladwijzer: nieuwe lijn

Methode einde . alle numerieke uitdrukkingen .indexOf( plak slice-methode, vanuit positie slice-methode .indexOf( te positioneren

, zonder het erbij te betrekken. Als Splitst een tekenreeks in een array van subtekenreeksen. en tot het einde van de oorspronkelijke regel. .indexOf( Splitst een tekenreeks in een array van subtekenreeksen.. +.indexOf( Lijntekenposities zijn genummerd van nul tot slice-methode. -1. Splitst een tekenreeks in een array van subtekenreeksen.. +slice-methode Als de waarde

.

Als de waarde

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen. negatief, dan wordt het vervangen door HTML-bladwijzer).

Methode . anker methode . Verpakt een string in tags ….lengte Met andere woorden: negatieve argumenten worden behandeld als verschuivingen vanaf het einde van de tekenreeks. Het resultaat is een stringwaarde, geen stringobject. De instructie document.write("ABCDEF.slice(2,-1)) drukt bijvoorbeeld de tekenreeks CDE af op het browserscherm.

kleine methode

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen..klein() klein [,kleine lettertjes]?) Creëert: klein. De verklaring document.write("Mijn tekst".small()) zal bijvoorbeeld de tekenreeks Mijn tekst op het browserscherm weergeven. kleine lettertjes maat HTML-bladwijzer gesplitste methode .split()

Methode scheidingsteken nummer . naar een array van subtekenreeksen en retourneert deze. De indeling in substrings gaat als volgt. De bronreeks wordt van links naar rechts gescand scheidingsteken. Zodra het is gevonden, wordt de substring vanaf het einde van het vorige scheidingsteken (of vanaf het begin van de regel als dit de eerste keer is dat het scheidingsteken voorkomt) tot het begin van het gevonden scheidingsteken toegevoegd aan de substringarray. Het scheidingsteken zelf verschijnt dus niet in de tekst van de subtekenreeks.

Optioneel argument kleine lettertjes specificeert de maximaal mogelijke grootte van de resulterende array. Als het is opgegeven, dan na selectie cijfers De substringmethode wordt afgesloten, zelfs als de scan van de originele string nog niet is voltooid.

Scheidingsteken kan worden opgegeven als een tekenreeks of als een reguliere expressie. Er zijn verschillende gevallen die speciale aandacht vereisen:

In het volgende voorbeeld wordt een reguliere expressie gebruikt om op te geven HTML-tags als afscheider. Exploitant

zal de regel Tekst, vet en cursief op het browserscherm weergeven.

stakingsmethode

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen..staking() HTML-bladwijzer).

Methode staking anker methode . Verpakt een string in tags ….

Er is geen controle om te zien of de originele string al tussen deze tags zat. Deze methode wordt gebruikt in combinatie met de methoden document.write en document.writeln om tekst weer te geven in een doorgehaald lettertype. De verklaring document.write("Mijn tekst".strike()) zal bijvoorbeeld de tekenreeks Mijn tekst op het browserscherm weergeven.

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen. sub-methode HTML-bladwijzer).

Methode .sub() anker methode . Verpakt een string in tags … sub

.

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen. Er is geen controle om te zien of de originele string al tussen deze tags zat. Deze methode wordt gebruikt in combinatie met de methoden document.write en document.writeln om tekst als subscript weer te geven. De verklaring document.write("Mijn tekst".sub()) zal bijvoorbeeld de string Mijn tekst op het browserscherm weergeven. .charAt( [,substr-methode]?) Creëert: .charAt( En substr-methode code2 HTML-bladwijzer).

Methode onderstr.substr( . lengte retourneert een tekenreeks die bestaat uit het teken dat zich in het gegeven bevindt retourneert een subtekenreeks van de primitieve waarde van een tekenreeks substr-methode beginnend hiermee substr-methode en bevattend retourneert een tekenreeks die bestaat uit het teken dat zich in het gegeven bevindt karakters. Als substr-methode niet is opgegeven, wordt er een subtekenreeks geretourneerd, beginnend bij de gegeven tekenreeks

, zonder het erbij te betrekken. Als Splitst een tekenreeks in een array van subtekenreeksen. en tot het einde van de oorspronkelijke regel. Als .charAt( negatief of nul is, wordt een lege string geretourneerd. Splitst een tekenreeks in een array van subtekenreeksen.. -1. .charAt( Als Splitst een tekenreeks in een array van subtekenreeksen..+.charAt(.

groter dan of gelijk aan., dan wordt een lege string geretourneerd. Als .charAt( negatief is, wordt het geïnterpreteerd als een verschuiving vanaf het einde van de regel, d.w.z. het wordt vervangen door Opmerking. Als

is dan negatief

Internet Explorer

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen. vervangt deze per ongeluk door 0, dus om compatibiliteitsredenen mag deze optie niet worden gebruikt. .indexOf( [,slice-methode]) Creëert: .indexOf( En slice-methode code2 HTML-bladwijzer).

Methode Var src = "abcdef"; var s1 = src.substr(1, 3); // "bcd" var s2 = src.substr(1); // "bcdef" var s3 = src.substr(-1); // "f", maar in MSIE: "abcdef".substr( . alle numerieke uitdrukkingen .indexOf( plak slice-methode, vanuit positie slice-methode substring-methode .indexOf( te positioneren

, zonder het erbij te betrekken. Als Splitst een tekenreeks in een array van subtekenreeksen..subtekenreeks( retourneert een getal dat gelijk is aan de Unicode-code van het teken dat zich in het gegeven bevindt worden vervangen door nul; als het argument groter is dan de lengte van de originele string, dan wordt het ermee vervangen. Als .indexOf( meer einde, dan wisselen ze van plaats. Als .indexOf( gelijk aan einde, dan wordt er een lege string teruggegeven.

Het resultaat is een stringwaarde, geen stringobject. Voorbeelden:

Var src = "abcdef"; var s1 = src.substring(1, 3); // "bc" var s2 = src.substring(1, -1); // "a" var s3 = src.substring(-1, 1); // "A"

sup-methode

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen..sup() HTML-bladwijzer).

Methode sup anker methode . Verpakt een string in tags ….

Er is geen controle om te zien of de originele string al tussen deze tags zat. Deze methode wordt gebruikt in combinatie met de methoden document.write en document.writeln om tekst als superscript weer te geven. De verklaring document.write("Mijn tekst".sup()) zal bijvoorbeeld de string Mijn tekst op het browserscherm weergeven.

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen. toLocaleLowerCase-methode HTML-bladwijzer.toLocaleLowerCase()

Steun: nieuwe lijn

Methode : Internet Explorer Ondersteund vanaf versie 5.5. Netscape Navigator Niet ondersteund. naarLocaleLowerCase

retourneert een nieuwe string waarin alle letters van de originele string worden vervangen door kleine letters, rekening houdend met de landinstellingen van het besturingssysteem. De overige tekens van de originele string worden niet gewijzigd. De originele string blijft hetzelfde. Normaal gesproken retourneert deze methode hetzelfde resultaat als ; het verschil is alleen mogelijk als de taalcodering in strijd is met de Unicode-regels voor het converteren van hoofdletters naar kleine letters.

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen. toLocaleUpperCase-methode HTML-bladwijzer.toLocaleLowerCase()

Steun: nieuwe lijn

Methode .toLocaleUpperCase() naarLokaleHoofdletter

retourneert een nieuwe tekenreeks waarin alle letters van de oorspronkelijke tekenreeks zijn vervangen door hoofdletters, rekening houdend met de landinstellingen van het besturingssysteem. De overige tekens van de originele string worden niet gewijzigd. De originele string blijft hetzelfde. Normaal gesproken retourneert deze methode hetzelfde resultaat als ; het verschil is alleen mogelijk als de taalcodering in strijd is met de Unicode-regels voor het omzetten van kleine letters naar hoofdletters.

Haalt een deel van een string op en retourneert een nieuwe string. : Splitst een tekenreeks in een array van subtekenreeksen. toLowerCase-methode HTML-bladwijzer: nieuwe lijn

Methode .naarLowerCase() naar kleine letters retourneert een nieuwe tekenreeks waarbij alle letters van de originele tekenreeks zijn vervangen door kleine letters. De overige tekens van de originele string worden niet gewijzigd. De originele string blijft hetzelfde. De instructie document.write("String object.toLowerCase()) geeft bijvoorbeeld de tekenreeks weer.

string-object

Een tekenreeks is een reeks van een of meer tekens die letters, cijfers en andere symbolen kunnen bevatten. In JavaScript is dit het eenvoudigste onveranderlijke gegevenstype.

In deze tutorial leert u hoe u tekenreeksuitvoer maakt en bekijkt, tekenreeksen samenvoegt en in variabelen opslaat. U leert ook de regels voor het gebruik van aanhalingstekens, apostrofs en overgangen. nieuwe lijn in JavaScript.

Een string maken en bekijken

Er zijn drie manieren om een ​​string in JavaScript te maken: ze kunnen tussen enkele aanhalingstekens (‘), dubbele aanhalingstekens (‘) of backticks (`) worden geschreven. Hoewel scripts soms alle drie soorten tekenreeksen bevatten, mag er binnen één regel slechts één type aanhalingsteken worden gebruikt.

Tekenreeksen met enkele en dubbele aanhalingstekens zijn in essentie hetzelfde. Er zijn geen conventies met betrekking tot het gebruik van het ene of het andere type aanhalingstekens, maar over het algemeen wordt aanbevolen om één type consistent te gebruiken in programmascripts.

"Deze string gebruikt enkele aanhalingstekens.";
"Deze string gebruikt dubbele aanhalingstekens.";

Derde en de nieuwste manier het maken van een string wordt een letterlijke sjabloon genoemd. Sjabloonletterlijke waarden worden tussen aanhalingstekens geschreven (ook wel een backtick genoemd) en werken op dezelfde manier als gewone snaren met meerdere extra functies die we in dit artikel zullen bekijken.

`Deze string gebruikt backticks.`;

De eenvoudigste manier om de uitvoer van een string te bekijken, is door deze in de console in te voeren met behulp van console.log().

console.log("Dit is een string in de console.");
Dit is een string in de console.

Aan anderen op een eenvoudige manier om de waarde van een string op te vragen is een pop-upvenster in de browser dat kan worden opgeroepen met alert():

alert("Dit is een tekenreeks in een waarschuwing.");

Deze regel opent een meldingsvenster in de browser met de volgende tekst:

Dit is een tekenreeks in een waarschuwing.

De methode alert() wordt minder vaak gebruikt omdat waarschuwingen voortdurend moeten worden gesloten.

Tekenreeksen opslaan in variabelen

Variabelen in JavaScript worden containers genoemd waarin waarden worden opgeslagen met behulp van trefwoorden var, const of let. Strings kunnen aan variabelen worden toegewezen.

const newString = "Dit is een string die aan een variabele is toegewezen.";

De newString-variabele bevat nu een tekenreeks waarnaar kan worden verwezen en die kan worden weergegeven met behulp van de console.

console.log(nieuweString);
Dit is een string die aan een variabele is toegewezen.

Door strings aan variabelen toe te wijzen, hoeft u de string niet telkens opnieuw te typen wanneer u deze wilt uitvoeren, waardoor het gemakkelijker wordt om met strings binnen programma's te werken.

Aaneenschakeling van tekenreeksen

String-aaneenschakeling is het proces waarbij twee of meer strings worden gecombineerd tot één nieuwe string. Aaneenschakeling gebeurt met behulp van de operator +. Het +-symbool is ook de opteloperator bij wiskundige bewerkingen.

Probeer bijvoorbeeld twee korte tekenreeksen aan elkaar te koppelen:

"Zee" + "paard";
Zeepaardje

Aaneenschakeling verbindt het einde van een string met het begin van een andere string zonder spaties in te voegen. Om een ​​spatie tussen de regels te hebben, moet deze aan het einde van de eerste regel worden toegevoegd.

"Zee" + "paard";
Zeepaardje

Met aaneenschakeling kunt u tekenreeksen en variabelen samenvoegen met tekenreekswaarden.



const favePoem = "Mijn favoriete gedicht is " + gedicht + " van " + auteur ".";

De nieuwe strings die het gevolg zijn van aaneenschakeling kunnen in het programma worden gebruikt.

Variabelen met sjabloonletterlijke waarden

Een van de kenmerken van sjabloonletterlijke waarden is de mogelijkheid om expressies en variabelen in de tekenreeks op te nemen. In plaats van aaneenschakeling kunt u de syntaxis $() gebruiken om een ​​variabele in te voegen.

const gedicht = "De brede oceaan";
const auteur = "Pablo Neruda";
const favePoem = `Mijn favoriete gedicht is $(gedicht) van $(auteur).`;
Mijn favoriete gedicht is De wijde oceaan van Pablo Neruda.

Met deze syntaxis kunt u hetzelfde resultaat verkrijgen. Sjabloonletterlijke waarden maken het samenvoegen van tekenreeksen eenvoudiger.

Tekenreeksliterals en tekenreekswaarden

Zoals je misschien hebt gemerkt, worden alle strings tussen aanhalingstekens of achteraanhalingstekens geschreven, maar bij uitvoer bevat de string geen aanhalingstekens.

"Voorbij de zee";
Voorbij de zee

Een letterlijke tekenreeks is een tekenreeks zoals deze voorkomt broncode, inclusief citaten. De tekenreekswaarde is de tekenreeks die in de uitvoer verschijnt (zonder de aanhalingstekens).

In dit voorbeeld is 'Beyond the Sea' een letterlijke tekenreeks en 'Beyond the Sea' een tekenreekswaarde.

Aanhalingstekens en apostrofs in tekenreeksen doorkruisen

Omdat aanhalingstekens worden gebruikt om tekenreeksen aan te duiden, zijn er speciale regels voor het gebruik van apostrofs en aanhalingstekens in tekenreeksen. JavaScript interpreteert bijvoorbeeld een apostrof in het midden van een string met enkele aanhalingstekens als een afsluitend enkel aanhalingsteken, en probeert de rest van de bedoelde string als code te lezen.

Beschouw dit voorbeeld:

const gebrokenString = "Ik ben een gebroken string";
console.log(brokenString);
onbekend: Onverwacht token (1:24)

Hetzelfde gebeurt als u dubbele aanhalingstekens probeert te gebruiken in een tekenreeks met dubbele aanhalingstekens. De tolk zal het verschil niet merken.

Om dergelijke fouten te voorkomen, kunt u het volgende gebruiken:

  • Verschillende tekenreekssyntaxis.
  • Ontsnappingssymbolen.
  • Sjabloon letterlijk.

Alternatieve tekenreekssyntaxis

De eenvoudigste manier om dit probleem te omzeilen, is door de tegenovergestelde syntaxis te gebruiken dan degene die u in het script gebruikt. Plaats bijvoorbeeld tekenreeksen met apostrofs tussen dubbele aanhalingstekens:

"We gebruiken veilig een apostrof tussen dubbele aanhalingstekens."

Er kunnen offerteregels uit worden gehaald enkele aanhalingstekens:

"Toen zei hij: "Hallo wereld!";

Door enkele en dubbele aanhalingstekens te combineren, kunt u de weergave van aanhalingstekens en apostrofs binnen tekenreeksen beheren. Dit heeft echter invloed op de consistentie van de syntaxis in de projectbestanden, waardoor ze moeilijk te onderhouden zijn.

Ontsnappingskarakter \

Door een backslash te gebruiken, interpreteert JavaScript aanhalingstekens niet als afsluitende aanhalingstekens.

De combinatie \' wordt altijd behandeld als een apostrof en \" als dubbele aanhalingstekens, geen uitzonderingen.

Hierdoor kunnen apostrofs worden gebruikt in tekenreeksen met enkele aanhalingstekens en kunnen citaten worden gebruikt in tekenreeksen met dubbele aanhalingstekens.

"We gebruiken veilig een apostrof tussen enkele aanhalingstekens.\"
"Toen zei hij: \"Hallo wereld!\"";

Deze methode ziet er een beetje rommelig uit. Maar het is nodig als dezelfde regel zowel een apostrof als dubbele aanhalingstekens bevat.

Sjabloonletterlijke waarden

Sjabloonletterlijke waarden worden gedefinieerd door aanhalingstekens, zodat zowel dubbele aanhalingstekens als apostrofs veilig kunnen worden gebruikt zonder enige extra manipulatie.

`We gebruiken veilig apostrofs en "aanhalingstekens" in een letterlijke sjabloon.`;

Sjabloonliterals voorkomen niet alleen fouten bij het weergeven van aanhalingstekens en apostrofs, maar bieden ook ondersteuning voor inline-expressies en blokken met meerdere regels, zoals besproken in de volgende sectie.

Meerregelige regels en nieuwe regel

In sommige situaties is het nodig om een ​​nieuwregelteken of een regeleinde in te voegen. De escape-tekens \n of \r helpen bij het invoegen van een nieuwe regel in de code-uitvoer.

const threeLines = "Dit is een tekenreeks\ndie zich over\ndrie regels uitstrekt.";
Dit is een touwtje
dat overspant
drie lijnen.

Hierdoor wordt de uitvoer in meerdere regels opgesplitst. Als de code echter lange rijen, zullen ze moeilijk zijn om mee te werken en te lezen. Gebruik de aaneenschakelingsoperator om één tekenreeks op meerdere regels weer te geven.

const threeLines = "Dit is een tekenreeks\n" +
"dat zich uitstrekt over\n" +
"drie regels.";

Je kunt ook aan een nieuwe regel ontsnappen met behulp van het escape-teken \.

const threeLines = "Dit is een tekenreeks\n\
dat zich uitstrekt over\n\
drie regels.";

groter dan of gelijk aan: Deze methode wordt niet aanbevolen, omdat deze in sommige browsers problemen kan veroorzaken.

Gebruik sjabloonliterals om uw code leesbaar te maken. Dit elimineert aaneenschakelings- en escape-tekens.

const threeLines = `Dit is een tekenreeks
dat overspant
drie regels.`;
Dit is een touwtje
dat overspant
drie lijnen.

Omdat verschillende codebases kunnen worden gebruikt verschillende normen, is het belangrijk om alle manieren te kennen om op een nieuwe regel af te breken en strings met meerdere regels te maken.

Conclusie

Nu u de basisprincipes kent van het werken met tekenreeksen in JavaScript, kunt u tekenreeksen en letterlijke sjablonen maken, concatenatie en traversal uitvoeren en tekenreeksen aan variabelen toewijzen.

Tags:

Dit artikel gaat over wat is tekenreeksen in JavaScript en methoden om ermee te werken.

Tekenreeksen zijn eenvoudigweg groepen tekens, zoals "JavaScript", "Hallo wereld!" ", "http://www.quirksmode.org" of zelfs "14". Om in JavaScript te programmeren, moet je weten wat strings zijn en hoe je ermee moet werken, aangezien je ze heel vaak zult moeten gebruiken. Veel dingen, zoals pagina-URL's, CSS-waarden-parameters en formulierinvoerelementen zijn allemaal strings.

Ik zal het eerst proberen uit te leggen werken met snaren, dan het verschil tussen in JavaScript. Zelfs als je programmeerervaring hebt in een andere taal, lees dit deel dan aandachtig door. Aan het einde zal ik het hebben over het belangrijkste tekenreeksen in JavaScript.

Basisprincipes van snaren

Laten we eens kijken naar de basisprincipes van het werken met tekenreeksen in JavaScript.

Aanhalingstekens gebruiken

Wanneer je het aankondigt tekenreeksen in JavaScript of ermee werkt, plaats ze dan altijd tussen enkele of dubbele aanhalingstekens. Dit vertelt de browser dat het met een string te maken heeft. Combineer het gebruik van aanhalingstekens in uw code niet; als u een regel begint met een enkel aanhalingsteken en eindigt met een dubbel aanhalingsteken, begrijpt JavaScript niet wat u bedoelde. Meestal gebruik ik enkele aanhalingstekens als ik met tekenreeksen werk, omdat ik ervoor heb gekozen om dubbele aanhalingstekens te gebruiken voor HTML en enkele aanhalingstekens voor JavaScript. Natuurlijk kun je alles anders doen, maar ik raad je aan om voor jezelf een soortgelijke regel te bedenken.

Laten we ons twee regels voorstellen die we in het hele artikel zullen gebruiken:

Var a = "Hallo wereld!"; var b = "Ik ben een student.";

We hebben nu twee variabelen gedeclareerd, "a" en "b", en daaraan stringwaarden toegewezen. Daarna kunnen we met ze samenwerken, maar laten we eerst één probleem oplossen: laten we zeggen dat ik schreef:

Var b = "Ik ben een student.";

De string bevat een extra enkel aanhalingsteken en JavaScript denkt dat de string compleet is en geeft een foutmelding weer zonder te begrijpen wat er daarna komt. Daarom heb je nodig ontsnappen citaat, waarbij de browser wordt verteld het als een teken te behandelen en niet als een regeleinde. Dit wordt gedaan met behulp van een backslash vóór het citaat:

Var b = "Ik ben een student.";

Houd er rekening mee dat u dubbele aanhalingstekens in een tekenreeks kunt invoegen zonder ze te laten ontsnappen. Omdat u enkele aanhalingstekens gebruikt om de tekenreeks te beginnen en te beëindigen,

Var b = "Ik ben een "student".";

zonder problemen waargenomen. Dubbele aanhalingstekens worden automatisch behandeld als delen van een string in plaats van als een commando.

Ingebouwde functies

Zodra de strings zijn gedefinieerd, kunt u ze gaan gebruiken. Dat kan bijvoorbeeld de ene string aan de andere koppelen, of neem een ​​substring uit de string “b”, bestaande uit het tweede tot en met de vierde karakter, en plaats deze in het midden van de string “a”, of bepaal welk karakter het twaalfde is in “a”, hoeveel karakters er in “b” staan ”, of ze de letter “q” bevatten enz.

Om dit te doen, kunt u de ingebouwde functies gebruiken die JavaScript voor elke regel vooraf definieert. Een daarvan, 'lengte', retourneert de lengte van de tekenreeks. Dat wil zeggen, als u de lengte van "Hallo wereld!" wilt berekenen, schrijf dan:

Var c = "Hallo wereld!".lengte;

Voorheen hebben we deze string toegewezen aan de variabele "a". Je hebt dus van de variabele "a" een string gemaakt, dus de functie "length" kan er ook op worden toegepast, en de volgende bewerking zal hetzelfde resultaat opleveren:

Var c = a.lengte;

Onthoud dat je voor elke string "lengte" kunt gebruiken; het is een ingebouwde functie. Dat kan bereken de lengte van een willekeurige string, bijvoorbeeld: "location.href" of "document.title" of door u aangegeven.

Hieronder zal ik een lijst met veelgebruikte ingebouwde methoden en eigenschappen presenteren.

Tekenreeksen en cijfers

Bij sommige programmeertalen moet je aangeven of variabel op nummer of een string voordat u er iets anders mee doet. JavaScript is eenvoudiger verwijst naar het verschil tussen tekenreeksen en getallen. Je kunt zelfs getallen met tekenreeksen toevoegen:

Var c = a + 12;

In sommige programmeertalen zal het verwerken van een dergelijke string resulteren in een fout. ‘a’ is immers een tekenreeks en ‘12’ is een getal. JavaScript probeert het probleem echter op te lossen door aan te nemen dat "12" ook een string is. Zo wordt "c" "Hallo wereld! 12". Dit betekent dat als u "+" gebruikt met een string en een getal, JavaScript probeert van het getal een string te maken. Als je gebruikt wiskundige bewerkingen aan een string probeert JavaScript er een getal van te maken. Als het niet mogelijk is om een ​​tekenreeks naar een getal te converteren (bijvoorbeeld vanwege de aanwezigheid van letters erin), retourneert JavaScript NaN - "Geen getal - is geen getal."

Ten slotte is er in JavaScript geen verschil tussen gehele getallen en getallen met drijvende komma.

Nummer → tekenreeks

Voor conversie van nummer naar string binnenkomen:

Var c = (16 * 24) / 49 + 12; d = c.toString();

Je kunt dan alle stringmethoden toepassen op "d" en "c" bevat nog steeds een getal.

Tekenreeks → nummer

Als je een string naar een getal wilt converteren, zorg er dan eerst voor dat deze alleen uit de tekens 0-9 bestaat. Om dit te doen, vermenigvuldig ik eenvoudigweg de string met 1.

Var c = "1234"; d = c * 1;

Omdat vermenigvuldigen alleen met getallen werkt, verandert JavaScript de tekenreeks indien mogelijk in een getal. Anders is het resultaat NaN.

Houd er rekening mee dat als u schrijft:

Var c = "1234"; d = c + 0;

Het resultaat is "12340", omdat JavaScript "+" gebruikt om tekenreeksen samen te voegen in plaats van ze toe te voegen.

Tekenreekseigenschappen en -methoden

Dus wat kunnen we doen met snaren? Associatie is speciaal geval, maar alle andere commando's (methoden) kunnen met elke string worden gebruikt met behulp van de constructie:

String_name.methode();

Lijst met ingebouwde JavaScript-methoden voor het werken met tekenreeksen

Concatenatie - het samenvoegen van strings

Ten eerste kunt u tekenreeksen samenvoegen door ze als volgt bij elkaar op te tellen:

Document.schrijven(a + b);

het resultaat zal zijn: "Hallo wereld! Ik ben een student." " Maar je wilt natuurlijk dat er ruimte tussen de zinnen zit. Om dit te doen, schrijft u de code als volgt:

Document.write(a + " " + b);

We zullen dus drie strings verbinden: “a”, ““”” (één spatie) en “b”, resulterend in: “Hallo wereld!” Ik ben student. »

U kunt zelfs getallen of berekeningen gebruiken, bijvoorbeeld:

Document.schrijven(a + 3 * 3 + b);

Nu voegen we de string “a” samen, en vervolgens het resultaat van de uitdrukking “3 * 3”, beschouwd als een string, en “b”, waardoor we krijgen: “Hallo wereld! 9 Ik ben een student. »

U moet voorzichtig zijn bij het gebruik van toevoegingen. Team

Document.schrijven(a + 3 + 3 + b);

verbindt 4 strings: "a", "3", "3" en "b" omdat "+" in in dit geval betekent “samenvoegen van lijnen”, niet “toevoegen” en het resultaat is: “Hallo wereld!33 Ik ben een student. " Als u 3 en 3 wilt optellen voordat u een tekenreeks maakt, gebruikt u haakjes.

Document.schrijven(a + (3 + 3) + b);

Deze uitdrukking verbindt de string “a”, het resultaat van de uitdrukking “3 + 3” en “b”, resulterend in: “Hallo wereld!6 Ik ben een student. "

indexVan

Een van de meest gebruikte ingebouwde methoden is "indexOf". Elk teken heeft zijn eigen index die het nummer van zijn positie in de regel bevat. Merk op dat de index van het eerste teken 0 is, de tweede 1, enz. De index van het teken “w” in de string “a” is dus 6.

Met behulp van "indexOf" kunnen we de index van een teken uitvoeren. Schrijf ".indexOf(" ")" achter de regelnaam en plaats het teken dat u zoekt tussen de aanhalingstekens. Bijvoorbeeld:

Var a = "Hallo wereld!"; document.write(a.indexOf("w"));

zal terugkeren 6. Als een teken meerdere keren voorkomt, retourneert deze methode de eerste keer dat het voorkomt. Dat is

Document.write(a.indexOf("o"));

zal 4 retourneren omdat dit de index is van de eerste "o" in de string.

U kunt ook zoeken op een combinatie van symbolen. (Dit is natuurlijk ook een string, maar om verwarring te voorkomen zal ik het niet zo noemen). "indexOf" retourneert de positie van het eerste teken van de combinatie. Bijvoorbeeld:

Document.write(a.indexOf("o w"));

zal ook 4 retourneren omdat dit de index van "o" is.

Bovendien is het mogelijk om na een bepaalde index naar een teken te zoeken. Als je binnenkomt

Document.write(a.indexOf("o", 5));

dan krijg je de index van de eerste “o” na het teken met index 5 (dit is een spatie), dat wil zeggen dat het resultaat 7 is.

Als het teken of de combinatie niet voorkomt in de string, retourneert "indexOf" "-1". Dit is in wezen het meest populaire gebruik van "indexOf": controleren op het bestaan ​​van een bepaalde combinatie van tekens. Het is de kern van het script dat de browser definieert. Om IE te definiëren, neemt u de volgende regel:

Navigator.userAgent;

en controleer of het "MSIE" bevat:

If(navigator.userAgent.indexOf("MSIE") != -1) ( //Alle acties met Internet Explorer)

Als de index van "MSIE" niet "-1" is (als "MSIE" ergens in de regel voorkomt), dan huidige browser- I.E.

laatsteIndexOf

Er is ook een "lastIndexOf"-methode die de laatste keer dat een teken of combinatie voorkomt, retourneert. Het doet het tegenovergestelde van "indexOf". Team

Var b = "Ik ben een student."; document.write(b.lastIndexOf("t"));

zal 13 retourneren omdat dit de index is van de laatste "t" in de string.

tekenAt

De "charAt"-methode retourneert het teken op de opgegeven positie. Bijvoorbeeld als je binnenkomt

Var b = "Ik ben een student."; document.write(b.charAt(5));

het resultaat is "a", aangezien dit het teken op de zesde positie is (onthoud dat de index van het eerste teken begint bij 0).

lengte

De "length"-methode retourneert de lengte van de string.

Var b = "Ik ben een student."; document.write(b.lengte);

zal "15" retourneren. De lengte van de string is 1 groter dan de index van het laatste teken.

gesplitst

"split" is een speciale methode waarmee je een string kunt splitsen bepaalde karakters. Wordt gebruikt wanneer het resultaat in een array moet worden opgeslagen in plaats van in een eenvoudige variabele. Laten we "b" splitsen door spaties:

Var b = "Ik ben een student." var temp = nieuwe Array(); temp = b.split(" ");

Nu wordt de string opgesplitst in 4 substrings, die in de array "temp" worden geplaatst. De ruimtes zelf zijn verdwenen.

Temp = "Ik"; temperatuur = "ben"; temperatuur = "een"; uitzendkracht = "student";

De "substring"-methode wordt gebruikt om een ​​deel van een string af te trekken. Methodesyntaxis: ".substring(eerste_index, laatste_index)". Bijvoorbeeld:

Var a = "Hallo wereld!"; document.write(a.substring(4, 8));

zal "o wo" retourneren, van de eerste "o" (index 4) tot de tweede (index 7). Merk op dat "r" (index 8) geen deel uitmaakt van de subtekenreeks.

Je kunt ook schrijven:

Var a = "Hallo wereld!"; document.write(a.substring(4));

Dit geeft de hele subtekenreeks "o wereld! ", beginnend bij het teken met index 4 tot het einde van de regel.

onderstr

Er is ook een "substr"-methode die een beetje anders werkt. Het gebruikt niet het indexnummer als tweede argument, maar het aantal tekens. Dat is

Document.write(a.substr(4, 8));

retourneert 8 tekens, beginnend bij het teken op index 4 (“o”), dat wil zeggen, het resultaat is: “ o wereld! »

naar kleine letters en naar hoofdletters

Tenslotte nog 2 methodes die soms handig voor je kunnen zijn: “toLowerCase” converteert de gehele string naar kleine letters, en “toUpperCase” converteert deze naar hoofdletters.

Var b = "Ik ben een student."; document.write(b.toUpperCase());

Als resultaat krijgen we: “IK BEN EEN STUDENT. "