我是正则表达式的新手,我想知道如何编写执行以下操作的正则表达式:
验证类似123-0123456789的字符串。应该只允许使用数字值和连字符。另外,验证连字符前有3个数字字符,连字符后有10个字符。
发布于 2011-02-18 16:30:42
给定的答案不适用于具有更多数字的字符串(如'012-0123456789876'),因此您需要:
str.match(/^\d{3}-\d{10}$/) != null;或
/^\d{3}-\d{10}$/.test(str);发布于 2011-02-18 14:48:00
试试这个:
^\d{3}-\d{10}$这表示:只接受3个数字,然后是连字符,然后是10个数字
发布于 2011-02-18 14:48:25
当然,这应该是可行的:
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
falsehttps://stackoverflow.com/questions/5038428
复制相似问题