[英]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.