Here are my two cents:
^[^\s[:cntrl:]](?: |[^\s[:cntrl:]])*[^\s[:cntrl:]]?$
- Not empty (at least 1 character)
- No leading or trailing whitespace (yes, my name is
)
- No control chracacters (yes, my name is
␇)
- Space is the only whitespace character allowed