开发者

Javascript Regex Matching Everything

I have this bit of Javascript,

if (/[A-Za-z0-9-]+/.test(sZip)) {开发者_如何学Python
   alert(Match!);
}

and I'm using this as my test case "1234;"

I don't want "1234;" to be a match, I want only for example "1234" or "12 34" or "12-34" to match.


/[A-Za-z0-9-]+$/

(The $ is the key: it means end of string, no more characters)


Start the regular expression with ^ and end it with $. This way you tell it to match the whole string against the pattern. MDN docs.

If you want the space matched, you need to include it in the brackets. For space and dash to delimit alphanum fields, take this approach:

/^([A-Za-z0-9]+[ -])*[A-Za-z0-9]+$/
---^ 0 or more "ABC123-" fields
---------------^ separated by either dash or space
---------------------^ but at least once a "ABC123" field (no dash)


    if (/[A-Za-z0-9-]+$/.test(sZip)) { 
      alert(Match!); 
    }  


This should work:

if (/[A-Za-z0-9-]+\s/.test(sZip)) {
   alert(Match!);
}
0

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜