regex allow only numbers or empty string

后端 未结 6 566
失恋的感觉
失恋的感觉 2021-02-05 04:30

Can someone help me create this regex. I need it to check to see if the string is either entirely whitespace(empty) or if it only contains positive whole numbers. If anything el

6条回答
  •  故里飘歌
    2021-02-05 04:37

    You're looking for:

    /^(\s*|\d+)$/
    

    If you want a positive number without leading zeros, use [1-9][0-9]*

    If you don't care about whitespaces around the number, you can also try:

    /^\s*\d*\s*$/
    

    Note that you don't want to allow partial matching, for example 123abc, so you need the start and end anchors: ^...$.
    Your regex has a common mistake: ^\s*|\d+$, for example, does not enforce a whole match, as is it the same as (^\s*)|(\d+$), reading, Spaces at the start, or digits at the end.

提交回复
热议问题