开发者

How to check input is only a number, letter and space?

I need t开发者_开发百科o 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_-]){1,80}$/;

Above regex does not include space bar. How can I add space bar condition into my regex.


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"));
// true
alert(/^([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"));
//true
alert(/^([a-zA-Z])([a-zA-Z0-9_ -]){1,80}$/.test("Aa232-42 3"));
//true
</script>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜