繁体   English   中英

如何使用正则表达式将固定长度的数字与中间的连字符匹配?

[英]How do I use a regular expression to match a fixed-length number with a hyphen in the middle?

我是正则表达式的新手,想知道如何编写执行以下操作的正则表达式:

验证字符串,如123-0123456789。 只允许使用数值和连字符。 另外,验证连字符前面有3个数字字符,连字符后面有10个字符。

给定的答案不适用于具有更多数字的字符串(如'012-0123456789876'),因此您需要:

str.match(/^\d{3}-\d{10}$/) != null;

要么

/^\d{3}-\d{10}$/.test(str);

试试这个:

^\d{3}-\d{10}$

这样说:只接受3位数字,然后是连字符,然后只接受10位数字

当然,这应该工作:

var valid = (str.match(/^\d{3}-\d{10}$/) != null);

例:

> s = "102-1919103933";
"102-1919103933"
> var valid = s.match(/\d{3}-\d{10}/) != null;
> valid
true
> s = "28566945";
"28566945"
> var valid = s.match(/\d{3}-\d{10}/) != null;
> valid
false

暂无
暂无

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

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