繁体   English   中英

重制此正则表达式

[英]Remake of this regexp

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

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

这仅允许10位数字,最后4位数字之间用“减号”分隔。

    012345-6789

我需要使它也允许不带减号且带有空格而不是减号:

   0123456789
   012345 6789

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

谢谢

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

您无需在括号内转义减号,因为它不会给出范围。

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

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

那应该做-空格或破折号(由?可选)?

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

当然。 您只想将减号以及其他几个字符设为可选。

试试这个:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM