2012-11-15 13 views
5

Potrzebuję pomocy w wyrażeniu regularnym. Potrzebuję wyrażenia w jquery, które pozwala tylko na znak lub spację między dwoma wyrazami. brak podwójnego miejsca dozwoloneWyrażenie regularne, które zezwala tylko na znaki lub przestrzeń.

Używam tego

/^[a-zA-Z]+(-_ [a-zA-Z]+)*/ 

ale to nie działa.

Przykład przestrzeń cześć - nie dopuszcza

cześć przestrzeń - nie dopuszcza

cześć Przestrzeń cześć - nie dopuszcza

przestrzeń cześć przestrzeń - nie dopuszcza

hello1234 - nie dozwolone

cześć przestrzeń 1234 - nie dozwolony


hello world-dozwolony

hello-dozwolony

cześć, jak się masz, dozwolonych

+0

Czy będą dostępne znaki interpunkcyjne (np. ',' '.?'?)? Pełne zdanie lub tylko dwa słowa? –

+0

nie tylko słowa, które mogą być więcej niż dwa. –

Odpowiedz

10

można użyć tego

/^([a-zA-Z]+\s)*[a-zA-Z]+$/ 
+1

Powyższe działa, jeśli zastąpisz \ s + z \ s –

+0

dzięki @MichaelDodge zaktualizowałem swoją odpowiedź – rahul

0

widzę masz już zaakceptowana odpowiedź, ale oto kolejna, bardziej zwięzła opcja:

/^\w+(\w+)*$/ 

Rozpoczyna się od słowa, po którym następuje dowolna liczba słów z pojedynczym odstępem z przodu.

Należy pamiętać, że akceptuje to również liczby w słowach. Nie wiem, czy tego chcesz.

Powiązane problemy