在JavaScript中我有

var regex = /^\d+$/;


仅接受数字。如何使其重新接受数字和字符“-”

最佳答案

您可以为此使用character class

var regex = /^[\d-]+$/;


但是,这也将允许----之类的匹配项。如果您只想允许输入123-456-789而不允许-123123-123--456,那么可以使用类似

var regex = /^\d+(?:-\d+)*$/;


说明:


^     # Start of string.
\d+   # Match a number.
(?:   # Start of a non-capturing group that matches...
 -    #  a hyphen,
 \d+  #  followed by a number
)*    # ...any number of times, including zero.
$     # End of string

关于javascript - 正则表达式只接受数字和特定的字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22353481/

10-09 14:43