📄 formcheck.js
字号:
//通用前端校验函数(请不断扩充)
//使用方法:需要校验的页面通过"<script src=>"包含此文件
//在使用的form中 onsubmit="return checkSubmit(this)"
//author Tony tony2002@btamail.net.cn
//date 2002-12-05
function checkSubmit(form){
//首先判断,然后改名字
for(i=0;i<form.length;i++)
{
var str_warn;
str_warn="";
//检测判断条件,根据类型不同可以修改---如果是input类型,textArea类型
//使用方法:
//在需要校验的form中对象名,采用规范的对象命名
//例如:*_int_mustint ----> 代表 此处校验:*代表不能为空,int 代表必须是int类型
// N_fla_mustfla ----> 代表 此处校验:N代表可以为空,fla 如果不为空必须是 float类型
// N_dat_mustdate ----> 代表 此处校验:N代表可以为空,dat 如果不为空必须是 日期类型(格式采用统一格式:YYYY-MM-DD)
// Y_mal_sdfsdfsd ----> 代表 此处校验:Y代表不能为空,mal 代表必须是email类型
// Y_str_xxxxxxx ----> 代表 此处校验:Y代表不能为空,str 代表必须是String类型
if((((form[i].tagName.toUpperCase()=="INPUT") && (form[i].type.toUpperCase()=="TEXT" || form[i].type.toUpperCase()=="PASSWORD" )) || (form[i].tagName.toUpperCase()=="TEXTAREA")) && (form[i].title!="") && (form[i].name.length>=5))
{
//form[i].vlaue = trim(form[i].value) ;
//alert(form[i].title+form[i].value.length+form[i].value.indexOf("Y"));
//alert("ss"+trim(form[i].value)+"ss");
//首先判断所有元素有Y的不能为空
if(form[i].name.indexOf("*")>-1)
{
if(trim(form[i].value).length<1)
{
str_warn=form[i].title+"不能为空!";
alert(str_warn);
form[i].focus();
return false;
}
}
//然后填写数据的判断类型匹配
if(form[i].value.length>0)
{
//判断3-5位的格式
if(form[i].name.substring(2,5).toUpperCase()=="INT")//int数字校验
{
if(!isInt(form[i].value))
{
str_warn=form[i].title+"格式不对,必须是整形数值!";
alert(str_warn);
form[i].focus();
return false;
}
}
if(form[i].name.substring(2,5).toUpperCase()=="FLA")//float数字校验
{
if(!isFloat(form[i].value))
{
str_warn=form[i].title+"格式不对,必须是浮点数!";
alert(str_warn);
form[i].focus();
return false;
}
}
if(form[i].name.substring(2,5).toUpperCase()=="DAT")//date校验
{
if(!isDate(form[i].value))
{
str_warn=form[i].title+"格式不对,必须是日期型数据!\n格式为:YYYY-MM-DD";
alert(str_warn);
form[i].focus();
return false;
}
}
if(form[i].name.substring(2,5).toUpperCase()=="MAL")//mail校验
{
if(!isMailAddress(form[i].value))
{
str_warn=form[i].title+"格式不对,必须是正确的邮件地址!\n格式为:sina@sina.com";
alert(str_warn);
form[i].focus();
return false;
}
}
}
}
}
//改名字
for(i=0;i<form.length;i++){
//凡是这种类型的
if((((form[i].tagName.toUpperCase()=="INPUT") && (form[i].type.toUpperCase()=="TEXT" || form[i].type.toUpperCase()=="PASSWORD" )) || (form[i].tagName.toUpperCase()=="TEXTAREA")) && (form[i].title!="") && (form[i].name.length>=5))
{
//把Y_str_sdfsdf 转换成 sdfsdf
form[i].name=form[i].name.substring(6,form[i].name.length);
form[i].value=trim(form[i].value) ;
}
}
return true;
}
//检查整形数值的函数
function isInt(inputVal) {
inputStr = inputVal.toString()
for (var i = 0; i < inputStr.length; i++) {
var oneChar = inputStr.charAt(i)
if (oneChar < "0" || oneChar > "9") {
return false;
}
}
return true;
}
//检查浮点型数值的函数
function isFloat(inputVal) {
inputStr = inputVal.toString()
for (var i = 0; i < inputStr.length; i++) {
var oneChar = inputStr.charAt(i)
if ((oneChar < "0" || oneChar > "9") && oneChar!=".") {
return false;
}
}
return true;
}
//检查日期型数据
function isDate(sDate)
{ var iaMonthDays = [31,28,31,30,31,30,31,31,30,31,30,31]
var iaDate = new Array(3)
var year, month, day
if (arguments.length != 1) return false
iaDate = sDate.toString().split("-")
if (iaDate.length != 3) return false
if (iaDate[1].length > 2 || iaDate[2].length > 2) return false
year = parseFloat(iaDate[0])
month = parseFloat(iaDate[1])
day=parseFloat(iaDate[2])
//alert(year+month+day)
if (year < 1900 || year > 2100) return false
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) iaMonthDays[1]=29;
if (month < 1 || month > 12) return false
if (day < 1 || day > iaMonthDays[month - 1]) return false
return true
}
//校验邮件
function isMailAddress(strMail){
if(strMail.indexOf('@')<1){
return false;
}
if(strMail.indexOf('.')<1){
return false;
}
return true;
}
//字符串压缩函数
function trim(str)
{
strTemp = str;
if (strTemp==null||str=="")
{
return "";
}
//左压缩
while(strTemp!="" && strTemp.charAt(0)==' ')
{
strTemp = strTemp.substring(1,strTemp.length);
}
//右压缩
while(strTemp!="" && strTemp.charAt(strTemp.length-1)==' ')
{
strTemp = strTemp.substring(0,strTemp.length-1);
}
return strTemp;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -