I'm trying to write a regex for javascript which will allow letters and numbers but won't allow numbers alone.
So '12 Test Street' would validate, as would 'test street' but not '12'.
Not that familiar with regexs so I've no idea where to start. I managed to write:
^([A-Za-z\d\s]+[A-Za-z\s])+$
That does work to a point but if a space is then added to the end of the numbers, it will validate again.
I'm trying to write a regex for javascript which will allow letters and numbers but won't allow numbers alone.
So '12 Test Street' would validate, as would 'test street' but not '12'.
Not that familiar with regexs so I've no idea where to start. I managed to write:
^([A-Za-z\d\s]+[A-Za-z\s])+$
That does work to a point but if a space is then added to the end of the numbers, it will validate again.
Share Improve this question asked Jul 2, 2014 at 16:01 Alex FoxleighAlex Foxleigh 1,9742 gold badges22 silver badges52 bronze badges 02 Answers
Reset to default 8You can solve this easily with a negative look-ahead:
^(?!\d+$)[a-zA-Z\d\s]+$
Note that this allows space-only strings. I'll leave it as a small exercise to change the expression if that's not desired. :)
If I interpret almost strictly (you did not mention whitespace characters) your question I suppose this will work:
^\d*[a-zA-Z][a-zA-Z\d\s]*$