Slik bruker regulære uttrykk med Javascript

Et regulært uttrykk er en veldig fleksibel, men kryptiske syntaks brukes til å matche tegn i strenger. I Javascript, er et vanlig uttrykk omsluttet flenger og etterfulgt av modifikatorer. For eksempel /\b[A-Z0-9._%+-]+@[A-Z0-9.-]+.[AZ]{2,4}\b/i er et vanlig uttrykk som kan brukes å validere at en streng er formatert som en e-postadresse. Javascript gir funksjoner og metoder for å bruke med regulære uttrykk for å skape dem, matchende dem til strenger, og erstatte deler av strenger, og trekke fange parenteser kamper.

Bruksanvisning

1 Lag et regulært uttrykk ved å kapsle den inn flenger og følge den med noen modifikatorer. For eksempel inn:

validEmail = /\b[A-Z0-9._%+-]+@[A-Z0-9.-]+.[AZ]{2,4}\b/i;

2 Lag en snor fra en vanlig uttrykk ved å kapsle det i anførselstegn. Escape noen backslash tegn inne strengen. Opprett en ny forekomst av Javascript objekt RegExp å lage et regulært uttrykk. Passere modifikatorer som andre, valgfri parameter når du oppretter objektet. For eksempel:

vaidEmail = ny RegExp ( "\ b [A-Z0-9 ._% + -]. + @ [A-Z0-9 .-] + \ [AZ] {2,4} \ b", "i") ;

3 Bruk kamp metoden for å sammenligne en streng til et vanlig uttrykk og finne ut om de passer ved å vurdere metodens returverdien for sant eller usant. For eksempel inn:

? Hvis (phoneNumber.match (\ (\ b [0-9] {3} \)? [-].? [0-9] {3} [-].? [0-9] {4} \ b ))

alert ( "gyldig telefonnummer!");

ellers

alert ( "Ugyldig telefonnummer!");

4 Bruk Javascript-metoden for erstatte en streng for å erstatte den del av strengen som samsvarer med regulært uttrykk. For eksempel inn:

funksjon trim (streng) {

tilbake string.replace (/ \ A \ s + | \ s + \ z /, '');

}

å lage en funksjon som trimmer de ledende og etterfølgende mellomrom fra en streng.

5 Ring exec funksjon med en streng for å lage en matrise som inneholder matchet del av strengen i tabellindekser 0 og de individuelle resultatene av fange parentes i regulære uttrykk som begynner på indeks 1. Skriv for eksempel:

ssnMatch = / \ b ([0-9] {3}) - ([0-9] {2}) - ([0-9] {4}) \ b /;

ssnParts = ssnMatch.exec ( "111-22-3333");

vil gi følgende matrise:

ssnParts [0] => "111-22-3333"

ssnParts [1] => "111"

ssnParts [2] => "22"

ssnParts [3] => "3333"