重拍这个正则表达式

时间:2010-11-09 18:28:48

标签: javascript jquery html validation forms

我有这个正则表达式来帮助我验证表单输入。

var nrExp = /^\d{6}\-\d{4}$/;

这只允许10位数,其中最后4位用“减号”分隔。

    012345-6789

我需要让它在没有减号的情况下使用空格而不是减号:

   0123456789
   012345 6789

如何重新制作此正则表达式以允许我想要的内容?

由于

5 个答案:

答案 0 :(得分:4)

/^\d{6}[- ]?\d{4}$/

您无需转义括号内的减号,因为它没有给出范围。

答案 1 :(得分:2)

/^\d{6}[ \-]?\d{4}$/

答案 2 :(得分:0)

var nrExp = /^\d{6}\[\- ]?\d{4}$/;

应该这样做 - 空格或短划线,由?

制作

答案 3 :(得分:0)

var re = /^\d{6}[\- ]?\d{4}$/
console.log(re.test('012345-6789'));
console.log(re.test('012345 6789'));
console.log(re.test('0123456789'));

答案 4 :(得分:-1)

不确定。你只想制作减号可选项以及其他几个字符。

试试这个:

var nrExp = /^\d{6}(\-| )?\d{4}$/;

请注意?之后的(\-| )。这允许匹配部分是可选的。