Wyrażenia regularne -jedna lub brak spacji w wyrażeniu

0

Witam!

Potrzebuję wyrażenia regularnego, które sprawdzi czy string składa się tylko i wyłącznie z liter (duże/małe), cyfr oraz ewentualnie JEDNEJ spacji. Z literami i cyframi sobie poradziłem:

    if ( !preg_match("/^([A-Za-z0-9]+)$/", $tag_name) )

Ale nie mam pojęcia jak sprawdzić czy w zmiennej brak spacji lub jest ewentualnie jedna. Wiem, że mogę to zapisać tak:

    if ( !preg_match("/^([A-Za-z0-9]+)$/", $tag_name) && !preg_match("/^([A-Za-z0-9]* [A-Za-z0-9]+)$/", $tag_name) )

Ale nie chcę się wygłupiać bo można to zrobić w jednym wyrażeniu, tylko nie bardzo mi to wychodzi.

0
/^[A-Za-z0-9]* ?[A-Za-z0-9]*$/

jeśli mogłyby być też podkreślniki "_" to możesz użyć \w zamiast [A-Za-z0-9]

1 użytkowników online, w tym zalogowanych: 0, gości: 1