2020.11.13
一、今日学习内容
常用的验证方法:
在验证过程中,有些方法经常被使用,这些方法主要是与字符串处理相关的方法。假设 str 是一个字符串,下面列出常用的对 str 的处理方法:
str.length,表示字符串的长度。
str.charAt(i),获取字符串中第 i 个字符,i 从 0 开始。
str.indexOf(c),查找某个字符的位置,返回值是该字符第一次出现的位置,位置编号从0 开始。如果没有找到,则返回-1。
str.substring(index1,index2),获取子串,第一个参数表示开始位置,第二个参数表示结束位置,子串包括第一个参数,不包括第二个参数。如果只有一个参数, 则获取从该参数开始到字符串结束的子串,此时方法就变成 str.substring(index)。str==另一个字符串,判断 str 与另一个字符串是否相同。
1. 非空验证 // 验证是否是空 function isNull(str) { if(str.length==0) return true; else return false; } 2. 字符串长度验证 // 验证是否满足最小长度 function minLength(str,length) { if(str.length>=length) return true; else return false; } // 判断是否满足最大长度 function maxLength(str,length) { if(str.length<=length) return true; else return false; } 3. 日期验证 // 判断是否是日期,日期的格式为 1988-1-1 function isDate(date) { // 查找分隔符 index1 = date.indexOf("-"); // 如果分隔符不存在,则不是合法的时间 if(index1 == -1) return false; // 获取时间中的年 year = date.substring(0,index1); // 获取时间中的剩下部分 date = date.substring(index1+1); // 查找第二个分隔符 index1 = date.indexOf("-"); // 如果不存在第二个分隔符,则不是合法的时间 if(index1 == -1) return false; // 获取时间中的月份 month = date.substring(0,index1); // 获取时间中的日 day = date.substring(index1+1); // 判断是否是数字,如果不是则不是合法的时间 if(isNumber(year) && isNumber(month) && isNumber(day)) { // 判断基本范围 if(year<1900 || year>9999 || month<1 || month >12 || day<1) return false; // 判断 31 天的月 if((month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12) && day>31) return false; // 判断 30 天的月 if((month==4 || month==6 || month==9 || month==11) && day>30) return false; // 如果是 2 月,判断是否为闰年 if(month==2) { if(year%400==0 || (year%4==0 && year%100!=0)) { if(day>29) return false; }else { if(day>28) return false; } } } else return false; return true; }
二、遇到的问题
没有什么问题
三、明日计划
明天继续学习