我正在研究关于requ表达的测试用语,以及jqunit的帮助:
test("Date entry should be a Date", function () {
ok(/(\d+[-/\.]\d+[-/\.]\d+)/g.test("10.12.2014"), "Date is not parsed correctly: 10.12.2014");
ok(/(\d+[-/\.]\d+[-/\.]\d+)/g.test("10-12-2014"), "Date is not parsed correctly: 10-12-2014");
ok(/(\d+[-/\.]\d+[-/\.]\d+)/g.test("10/12/2014"), "Date is not parsed correctly: 10/12/2014");
});
第二个条件失败,但是在浏览器的控制台或regexr.com上执行它们 他们都是真的。这种行为来自哪些提示?
答案 0 :(得分:2)
当你只使用g
时,不要在正则表达式中使用test
标志:它没有意义,更重要的是,它使它成为一个迭代器,其结果随着每次调用而改变test
我认为文字正则表达式在jqunit中被多次使用。
更改
/(\d+[-/\.]\d+[-/\.]\d+)/g
到
/(\d+[-/\.]\d+[-/\.]\d+)/