我想做的是严格搜索月份 jan feb mar apr ...等输入到格式为的文本字段
mmmyyyy(例如:jan1993)。
我想验证这一点,以便用户可以输入全小写或全大写 (jan/JAN)。
我所做的似乎不起作用。
var firstM =month.charAt(0,2);
var months =
{
"jan" : "JAN",
"feb" : "FEB",
"mar" : "MAR",
"apr" : "APR",
"may" : "MAY",
"jun" : "JUN",
"jul" : "JUL",
"aug" : "AUG",
"sep" : "SEP",
"oct" : "OCT",
"nov" : "NOV",
"dec" : "DEC"
};
else if (firstM !== months[firstM])
{
errMessages += "<li class='b1'> Date of Birth must start with 3 letter month</li>\n";
errMessages += "<li class='b2'> ex: mmmyyy / JAN1993</li>\n";
}
我仍然习惯于弄清楚如何使用 .charAt 和“jan”:“JAN”我想如果我这样做,用户可以输入全部小写或全部大写,并且它会验证,但无论我做什么,错误都会不断出现。
如有任何帮助,我们将不胜感激。
最佳答案
如果没有正则表达式,该函数可能如下所示:
function checkInput(input) {
var months = ["jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"];
var monthPartOfInput = input.substring(0, 3).toLowerCase();
if (months.indexOf(monthPartOfInput) == -1){
// TODO: Show validation error
}
}
关于javascript - 严格搜索字符串以验证 JavaScript 中的月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10060073/