如何验证字符串/ JSON值的格式为"\/Date(1239018869048)\/"
?我知道我可能有一个序列化的JSON日期字符串,但因为JSON对象是动态的,我不知道哪个属性是序列化的JSON日期。如何验证字符串值格式为“/Date(1239018869048) /”?
所以我想知道JSON属性值是否会验证为JSON序列化日期的格式。
更新#1
这将是很好的检查,如果您使用正则表达式,因为一个整数会抛出异常之前,这是一个字符串的一个实例。这是@vzwick给出的答案。再次感谢。
json_obj = { 'foo' : 'bar', 'baz' : '/Date(1239018869048)/' }
pattern = /^\/Date\((\d*)\)\/$/;
for(e in json_obj) {
if (json_obj[e].constructor === String) {
if (json_obj[e].match(pattern)) {
// date found
}
}
}
更新#2
后试用不同的值,我发现我们有负数。所以现在的模式可以是 ;
pattern = /^\/Date\((-?\d*)\)\/$/;
你的意思是字符串字面?你的意思是将字符串作为正则表达式吗?或者,你的意思是一个字面'日期'左括号,数字字符串x字符长,右括号? – Corbin
我想知道一个字符串值是否以这种格式:/ Date(1239018869048)/。 – Tebo
如果按照“这种格式”,你的意思是“匹配这个正则表达式”,你可以对它进行比较,因为它没有动态模式。如果这不是你的意思,那么我恐怕我很困惑。对于正则表达式匹配:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/match或者只是pattern.test(“some string”)例子:/^[0-9]+$/.test (“12345”) – Corbin