1.第一种是多行注释”/**/”,一般js文件开头,介绍作者,函数等信息。
/* author:xxx *day:2007-12-04 */
2.第二种注释方法是最常见的”//”,在程序间随处可见,只能注释单行
//这是一行注释,只能注释单行。
//另一行注释
3.第三种注释不是很常见,会和html内的注释混淆,不推荐使用
<!-这是一行注释,只能注释单行
第三种方法后面是不要加<!这是和html注释不一样的地方
ValidateMethodFactory.validateDate = function(field, params) {var obj = ValidationFramework.getWebFormFieldObj(field)//获取要验证的控件对象
if (obj == null) return false//如果对象不存在,返回验证失败
if (obj.value == "") return true//如果对象的值为空,返回验证成功
var value = obj.value
var datePattern = params[0]//日期参数表达式,params数组参数的第一个值,params参数的格式为 mm-dd-yyyy?
var MONTH = "mm"
var DAY = "dd"
var YEAR = "yyyy"
var orderMonth = datePattern.indexOf(MONTH)//查找mm所在的位置
var orderDay = datePattern.indexOf(DAY)//查找dd所在的位置
var orderYear = datePattern.indexOf(YEAR)//查找yyyy所在的位置
var bValid = true
var dateRegexp = null
if ((orderMonth >orderYear &&orderMonth <orderDay)) { //如果格式为 yyyy(*)mm(*)dd 分割符可能未知
var iDelim1 = orderYear + YEAR.length
var iDelim2 = orderMonth + MONTH.length
var delim1 = datePattern.substring(iDelim1, iDelim1 + 1)//截取yyyy和mm的分割符
var delim2 = datePattern.substring(iDelim2, iDelim2 + 1)//截取mm和dd的分割符
if (iDelim1 == orderMonth &&iDelim2 == orderDay) { //当格式为 yyyymmdd 时
dateRegexp = new RegExp("^(\\d{4})(\\d{2})(\\d{2})$")
} else if (iDelim1 == orderMonth) { //当格式为 yyyymm*dd 时 设置正则如下
dateRegexp = new RegExp("^(\\d{4})(\\d{2})[" + delim2 + "](\\d{2})$")
} else if (iDelim2 == orderDay) { //当格式为 yyyy*mmdd 时 设置正则如下
dateRegexp = new RegExp("^(\\d{4})[" + delim1 + "](\\d{2})(\\d{2})$")
} else { //当格式为 yyyy*mm*dd 时 设置正则如下
dateRegexp = new RegExp("^(\\d{4})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{2})$")
}
var matched = dateRegexp.exec(value)//进行正则匹配
if(matched != null) { //如果有匹配值
if (!ValidateMethodFactory.__isValidDate(matched[3], matched[2], matched[1])) {
bValid = false
}
} else { //未匹配到值
bValid = false
}
} else { //如果为其他格式
bValid = false
}
return bValid
}
=============================
重写的验证函数:
ValidateMethodFactory.validateDate = function(field) {
var obj = ValidationFramework.getWebFormFieldObj(field)
if (obj == null) return false
if (obj.value == "") return true
var value = obj.value
var re = /^(1\d{3}|20[\d]{2})\-([0][1-9]|[1-2]\d|[3][01])$/
return re.test(value)
}