2013-06-08 12 views

Odpowiedz

15

można dopasować zakres numerów przed i po dwa z [0-13-9] coś takiego:

"4526".match(/[0-13-9]+/) 
["45"] 
"029".match(/[0-13-9]+/) 
["0"] 
"09218".match(/[0-13-9]+/) 
["09"] 
+0

Właściwa droga! Twoje rozwiązanie jest poprawne. – Winston

+1

w jaki sposób regex rozpoznaje różnicę między 1 i 13 w tym zakresie? –

+3

@MohammadMasoudian Regex nie zna "13" trzynaście. Znam tylko jako pojedynczy znak. –

1

Ten RegExp działa: /([013-9])/

21

Innym sposobem, aby to zrobić:

/[^\D2]/ 

Oznacza to, że nie jest to cyfra ani znak nie będący cyfrą lub 2.

+3

To jest miłe. +1. – nnnnnn

+2

Dość elegancki, podoba mi się :) – Lepidosteus

+1

** Ujawnienie: ** Znalazłem tę fajną sztuczkę z tej odpowiedzi http://stackoverflow.com/a/3469155/459516 –

3

również poprawna odpowiedź.

/(?!2)\d/

Powiązane problemy