任何人都可以告诉我如何使用java脚本中的正则表达式检查数字是否采用以下格式
12-1234567-123
由于
答案 0 :(得分:6)
尝试以下方法:
/^[\d]{2}-[\d]{7}-[\d]{3}$/
这大致相当于
^ = start of string
[/d] = any number (0-9)
{n} = exactly n times
$ = end of string
可以这样使用:
var string = '12-1234567-123';
var regex = /^[\d]{2}-[\d]{7}-[\d]{3}$/;
if (regex.test(string)) {
//...
}
答案 1 :(得分:4)
一个可能的正则表达式:
var format = /^\d{2}-\d{7}-\d{3}$/
并测试:
if( format.test( number ) ){
答案 2 :(得分:1)
你可以使用
/^[0-9]{2}-[0-9]{7}-[0-9]{3}$/
答案 3 :(得分:1)
假设您的模式是dd-ddddddd -ddd(即,示例中的实际数字不是模式的一部分):
var num = "12-1234567-123";
if (/^\d{2}-\d{7}-\d{3}$/.test(num)) {
alert("Number is valid");
}
答案 4 :(得分:1)
\ d {2} - \ d {7} - \ d {3}完全按照您引用的方式匹配您的案例。
如果您需要指定数字(即最大值为7),请将\ d {2}替换为[0-7] {2}等。
一个伟大的正则表达式测试器:RegExp example
答案 5 :(得分:0)
连字符应该转义为正则表达式,所以试试这个
/\d{2}\-\d{7}\-\d{3}/
答案 6 :(得分:0)
这是一个非常宽松的RegEx。:
/\d{2}-\d{7}-\d{3}/.test("12-1234567-123")
您应该提供有关边缘情况的更多详细信息。
答案 7 :(得分:0)
使用此正则表达式字符串:
\d{2}-\d{7}-\d{3}
以及在javascript中使用正则表达式匹配的方法:
var isValid = /\d{2}-\d{7}-\d{3}/.test(input)