Skip to content Skip to sidebar Skip to footer

How To Check Input Is Only A Number, Letter And Space?

I need to write some Javascript to check an input to only allow number and letter and '-' and '_' and space bar. Here is my regular expression var pattern = /^([a-zA-Z])([a-zA-Z0-9

Solution 1:

For me this:

var pattern = /^([a-zA-Z])([a-zA-Z0-9_ -]){1,80}$/;

works.

Maybe you ran into the issue with trying it like this ?

var pattern = /^([a-zA-Z])([a-zA-Z0-9_- ]){1,80}$/;

and the regex Parser thought you ment "underscore to spacebar" and not "underscore dash and spacebar ? (Didn't test that)

Edit

Did a little testing

<script>alert(/^([a-zA-Z])([a-zA-Z0-9_-]){1,80}$/.test("Aa232423"));
// truealert(/^([a-zA-Z])([a-zA-Z0-9_ -]){1,80}$/.test("Aa232 423"));
// true alert(/^([a-zA-Z])([a-zA-Z0-9_- ]){1,80}$/.test("Aa232423"));
// parser error: invalid range in character set</script>

Do i guess i was right with my assumption ;)

Secound Edit in Response to OPs Comment:

<script>alert(/^([a-zA-Z])([a-zA-Z0-9_ -]){1,80}$/.test("Aa232-423"));
//truealert(/^([a-zA-Z])([a-zA-Z0-9_ -]){1,80}$/.test("Aa232-42 3"));
//true</script>

Post a Comment for "How To Check Input Is Only A Number, Letter And Space?"