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; 
 }

二、遇到的问题

    没有什么问题

三、明日计划

  明天继续学习

原文地址:https://www.cnblogs.com/wmdww/p/14157764.html