需要使用连字符来验证月份,例如 JAN-FEB、FEB-MAR... 同样。这里我遵循了代码,
function myFunction() {
var patt=/^((["JAN"]+)|(["FEB"]+))$/
text = document.getElementById("p01").innerHTML;
document.getElementById("demo").innerHTML = patt.test(text);
}
<p id="p01">JAN-FEB</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
一旦我验证了这一点,我就会得到错误的结果,但我希望这是真的。它必须仅通过以大写字母开头的 3 个字母的月份名称进行验证,例如 JAN-FEB、JAN-DEC、FEB-JUN,...同样适用于所有类型的月份。
最佳答案
您可以使用正则表达式从 p
获取月份名称标记并检查 months
中存在的每个月使用 array#every
的数组.
var myFunction = function() {
var months = ['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC'],
text = document.getElementById("p01").innerHTML;
var match = text.match(/(\w+){3}-(\w+){3}/g);
document.getElementById("demo").innerHTML = match ? match[0].split('-').every(month => months.includes(month)) : false;
}
<p id="p01">JAN-FEB</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
关于javascript - 必须使用 JS 验证带有连字符的月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47807442/