0

我想用来match()寻找模式。这是我要匹配的字符串示例:12/03/2013 11:15

我使用了一些在线工具,并且可以使用这种模式:

sData.match((0[1-9]|[12][\d]|3[0-2])\/(0[1-9]|1[0-2])\/[\d]{4} (0[1-9]|1[\d]|2[0-3]):(0[1-9]|[1-5][\d])$)

但是,一旦我在我的 javascript 代码中使用它,我就会收到非法字符的错误,但我不知道哪些字符是非法的,有人可以帮忙吗?

如果它有帮助,这是用于数据表插件的自定义排序列,但我确定这不是问题的一部分。

这是带有工作正则表达式的在线工具:http ://rubular.com/r/PR4l6T8AQi

4

3 回答 3

4

您只需要为正则表达式添加分隔符:

sData.match(/(0[1-9]|[12][\d]|3[0-2])\/(0[1-9]|1[0-2])\/[\d]{4} (0[1-9]|1[\d]|2[0-3]):(0[1-9]|[1-5][\d])$/);
            ^                                                                                            ^

那应该工作:)

另外,你可以去掉一些字符类,比如[\d]可以写成这样\d

sData.match(/(0[1-9]|[12]\d|3[0-2])\/(0[1-9]|1[0-2])\/\d{4} (0[1-9]|1\d|2[0-3]):(0[1-9]|[1-5]\d)$/);
于 2013-09-23T10:32:25.443 回答
2

文字正则表达式应以 / 开头和结尾

于 2013-09-23T10:32:04.913 回答
0

正则表达式必须以 / 开头并以 / 结尾

 sData.match(/(0[1-9]|[12][\d]|3[0-2])\/(0[1-9]|1[0-2])\/[\d]{4} (0[1-9]|1[\d]|2[0-3]):(0[1-9]|[1-5][\d])$/)
于 2013-09-23T10:33:09.483 回答