TypeError Regex -test er ikke en funksjon i JavaScript

TypeError Regex -test er ikke en funksjon i JavaScript
I JavaScript, "test()”Metode utfører et søk etter en kamp mellom et vanlig uttrykk og en gitt streng. Det gir "ekte”Hvis den aktuelle strengen samsvarer med det gitte mønsteret; Hvis ikke, gir det “falsk”. Test () -metoden kan bare brukes til riktig formaterte vanlige uttrykk. Ellers gir det ut en typeerror.

Denne opplæringen vil definere forekomsten og løsningen av feilen “Regex -test er ikke en funksjon i JavaScript”Typeerror.

Hvordan oppstår feilen "regex -test er ikke en funksjon i JavaScript"?

Når du ringer “test()”Metode på en strengtypeverdi, den vil kaste en feil”Regex -test er ikke en funksjon i JavaScript”. I et slikt scenario er ikke regex -mønsteret eller det vanlige uttrykket pakket inn i sitater.

Eksempel
Lag en variabel “regex”Og lagre et vanlig uttrykk for å utføre spesifikk handling:

const regex = '\ d 10 $';

Lag en streng for å lagre et tall som vil bli sjekket mot mønsteret:

const string = '090078601';

Ring "test()”Metode ved å passere strengen som et argument for å sjekke om den stemte overens med et mønster eller ikke:

const Resultat = regex.test ('streng');

Skriv ut resultatet på konsollen ved hjelp av “konsoll.Logg()”Metode:

konsoll.logg (resultat);

Utgangen viser en feil fordi regex -mønsteret er erklært som en streng, ikke i et riktig Regex -format:

Hvordan fikse “regex test er ikke en funksjon i JavaScript” -feil?

For å fikse den ovennevnte feilen, ring Test () -metoden på det vanlige uttrykket. Det vanlige uttrykket eller regex -mønsteret erklært mellom to fremoverstrøk. Det vil fungere som en streng når du erklærer det i et enkelt eller dobbelt sitat.

I det gitte eksemplet vil vi bekrefte om tallet inneholder 10 sifre ved bruk av det vanlige uttrykket eller regex -mønsteret. Først vil vi lage en variabel regex for lagring av vanlige uttrykk:

const regex = /^\ d 10 $ /;

I det ovennevnte mønsteret:

  • /”Forward Slash indikerer starten og slutten av mønsteret.
  • ^”Representerer starten på tallet.
  • d”Begynner sifre.
  • “”Indikerer grensen som er“10”.
  • \”Backslash -karakter er fluktkarakteren.
  • $”Indikerer enden av mønsterstrengen.

Lag en variabel “streng”For å lagre nummeret:

const string = '090078601';

Ring test () -metoden på regex -mønsteret for å teste strengen:

const Resultat = regex.test ('streng');

Til slutt, skriv ut resultatet på konsollen:

konsoll.logg (resultat);

Utgangen vises “falsk”Fordi tallet ikke er 10 sifre:

Vi har samlet alle viktige instruksjoner for å løse den nevnte feilen.

Konklusjon

Den spesifiserte typenerror møter når de ringer til “test()”Metode på en strengtypeverdi i stedet for et vanlig uttrykk eller regex -mønster. Det vanlige uttrykket eller regex -mønsteret erklært mellom to fremoverstrøk. Det vanlige uttrykket eller regex -mønsteret er ikke pakket inn i sitater. Derfor fungerer det som en streng når du erklærer det i et enkelt eller dobbelt sitat. I denne opplæringen har vi definert forekomsten og løsningen av feilen.