如何在javascript中进行正则表达式

时间:2012-01-10 10:02:41

标签: javascript regex

任何人都可以告诉我如何使用java脚本中的正则表达式检查数字是否采用以下格式

12-1234567-123

由于

8 个答案:

答案 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)