如何在javascript中生成正则表达式
有人能告诉我如何使用java脚本中的正则表达式检查以下格式的数字吗如何在javascript中生成正则表达式,javascript,regex,Javascript,Regex,有人能告诉我如何使用java脚本中的正则表达式检查以下格式的数字吗 12-1234567-123 谢谢请尝试以下操作: /^[\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
12-1234567-123
谢谢请尝试以下操作:
/^[\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)) {
//...
}
一个可能的正则表达式:
var format = /^\d{2}-\d{7}-\d{3}$/
并测试:
if( format.test( number ) ){
你可以用
/^[0-9]{2}-[0-9]{7}-[0-9]{3}$/
连字符应该转义到regexp中,因此请尝试以下操作
/\d{2}\-\d{7}\-\d{3}/
假设您的模式为dd-dddd-ddd(即,示例中的实际数字不属于该模式的一部分):
这是一个非常松散的正则表达式:
/\d{2}-\d{7}-\d{3}/.test("12-1234567-123")
您应该提供有关边缘情况的更多详细信息。使用此正则表达式字符串:
\d{2}-\d{7}-\d{3}
以及在javascript中使用正则表达式匹配的方法:
var isValid = /\d{2}-\d{7}-\d{3}/.test(input)
\d{2}-\d{7}-\d{3}与您引用的案例完全匹配 如果需要指定数字(即最大值7),请将\d{2}替换为[0-7]{2}等
一个优秀的regexp测试人员:很好地介绍了正则表达式。我建议你看一看,至少学习一些基础知识(这是这里所需要的一切)。你需要检查什么格式<代码>dd-dd-ddd-ddd?其中
d=number
连字符只需要在范围内转义,不是只有在字符类中才需要转义吗?是的,但因为我经常使用复杂的正则表达式,所以我认为总是转义它们是一种很好的做法,尤其是在嵌套范围模式上,只是为了清晰和可读性的问题——不管怎么说,事实并非如此——只是出于好奇,什么是“嵌套范围”?
var isValid = /\d{2}-\d{7}-\d{3}/.test(input)