Javascript 子字符串验证/比较

标签 javascript substring

我已经摆弄这段代码大约一个小时了,它让我难以置信。我认为解决方案相当简单,但我似乎无法弄清楚。 无论如何,这里去。我制作了一个 javascript 函数来检查用户输入的字符,以便它只能接受 7 个字符作为有效输入。这部分工作正常。不起作用的是下一部分,它然后检查前三个字符,看它们是否与一年中的月份匹配,如果不匹配,它就不会通过。到目前为止,即使输入的字符是 jan2345 或 feb3939 等等,它也永远不会返回 true。任何帮助都会很好这里是有问题的代码。

 function validateBirthDate() {
 var s =document.pizza.birthday.value; 
 var check=/[A-Za-z]{3}[0-9]{4}/;

 if(s.length<7 || s.length > 7) {
  alert("The birth date should have 7 characters!");
  return false;
}
 if(s.length==7) {
  if(check.test(s)==true) {
   if(s.substring(0,3)!=="jan" || s.substring(0,3)!=="feb" ||     s.substring(0,3)!=="mar"|| s.substring(0,3)!=="apr"  || s.substring(0,3)!=="may" ||     s.substring(0,3)!=="jun" || s.substring(0,3)!=="jul" || s.substring(0,3)!=="aug" ||     s.substring(0,3)!=="sep" || s.substring(0,3)!=="oct" || s.substring(0,3)!=="nov" ||     s.substring(0,3)!=="dec") 
  {
    alert("The first 3 characters must be a 3 letter abbreviation of one of the 12     months!");
    return false;
   }  

最佳答案

逻辑是问题

!(s.substring(0,3)=="jan" || s.substring(0,3)=="feb")

关于Javascript 子字符串验证/比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23039737/

相关文章:

javascript - datauri/图像到 Canvas

java - 从集合中有效地获取字符串子集 "startingWith"

php从第0个位置替换第一次出现的字符串

MySQL拆分字符串返回所有行中的所有单词

javascript - Div 不会关闭

javascript - 使用 JavaScript 工具包或框架时,在使用 MVC 模型数据时建议接受的策略是什么?

javascript - 在 NodeJS 的 Controller 中返回 Promise 有什么意义吗?

javascript - 如何在 jQuery 中编写 document.getElementsByClassName(names)[n]

javascript - 如果 URL 最后一个斜杠后面存在字符串,则捕获该值;如果没有,则捕获最后一个斜杠之前的值(javascript)

sql - 如何在 SQL 中查找作为子字符串的 int 值的 MIN 和 MAX?