javascript 集装箱号校验新版

<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
< HTML >
< HEAD >
< TITLE >  Demo  </ TITLE >
< META  NAME ="Generator"  CONTENT ="EditPlus" >
< META  NAME ="Author"  CONTENT ="" >
< META  NAME ="Keywords"  CONTENT ="" >
< META  NAME ="Description"  CONTENT ="" >
< script  language ="javascript" >
//去除字符串的空格
function gf_trim(as_string)
{
   
while(as_string.length > 0 && as_string.indexOf(" ")==0) as_string = as_string.substr(1);
   
while(as_string.length > 0 && as_string.lastIndexOf(" ")==(as_string.length-1)) as_string = as_string.substr(0,as_string.length-1);
   
return as_string;
}

//集装箱箱号验证
//
功能:验证集装箱箱号:
//
参数:
//
   as_cntrno 是否符合国际标准,
//
返回值:True 符合国际标准或强行通过(特殊箱号)
//
举例:gf_chkcntrno( 'TEXU2982987', 0 )     
function chkcntrno(as_cntrno,ai_choice)
{
 
var fi_ki;
 
var fi_numsum;
 
var fi_nummod;
 
var fai_num = new Array(11);
 
var fb_errcntrno=false;

 
if (as_cntrno==nullreturn true//null不进行验证
 if (gf_trim(as_cntrno)==""return true//空不进行验证
 
 
if (as_cntrno.length == 11)   //国际标准为11位,最后一位是校验位,若不是11位肯定不是标准箱
 for(fi_ki=1;fi_ki<=11;fi_ki++)
   fai_num[fi_ki] 
= 0;
  
for(fi_ki=1;fi_ki<=4;fi_ki++)     //根据国际标准验证法则处理箱号前面的4个英文字母
  {
   fch_char
=as_cntrno.charAt(fi_ki-1).toUpperCase();
   
switch(true)
   
case (fch_char=="A"):{fai_num[fi_ki] = 10;break;}
    
case (fch_char>="V" && fch_char<="Z"):{fai_num[fi_ki] = fch_char.charCodeAt() - 52;break;}
    
case (fch_char>="L" && fch_char<="U"):{fai_num[fi_ki] = fch_char.charCodeAt() - 53;break;}
    
default:{fai_num[fi_ki] = fch_char.charCodeAt() - 54;break;}
   }

  }

  
for(fi_ki=5;fi_ki<=11;fi_ki++)
  
{  fch_char=as_cntrno.charAt(fi_ki-1);
   fai_num[fi_ki] 
= parseInt(fch_char); //ctype((mid(as_cntrno, fi_ki, 1)), integer)
      }

  fi_numsum 
= 0
  
  
for(fi_ki=1;fi_ki<=10;fi_ki++)
  

   fi_sqr 
= 1;
   
for(i=1;i<fi_ki;i++){fi_sqr *=2;}
   fi_numsum 
+= fai_num[fi_ki] * fi_sqr;
  }


  
if (as_cntrno.substr(0,4== "HLCU") fi_numsum = fi_numsum - 2//hapaq lloyd的柜号与国际标准相差2
  fi_nummod = fi_numsum % 11;
  
if (fi_nummod == 10) fi_nummod = 0;
  
if (fi_nummod == fai_num[11]) fb_errcntrno = true;
  
return fb_errcntrno;
 }
else{
    
return fb_errcntrno;
 }
  
}
 
</ script >
</ HEAD >
< BODY >
TTGZS DEMO ttgzs_wt@163.com
< INPUT  TYPE ="text"  NAME ="cntrno"  id ="cntrno"   >
< INPUT  TYPE ="submit"  value ="test"  onclick ="if(!chkcntrno(cntrno.value,0)) alert('error'); else alert('ok');return;" >
</ BODY >
</ HTML >
 
js大全 . 1.1 全是数字.. 3 1.2 限制 期限 不能大于 100 年.. 4 1.3 将日期格式由yyyy-MM-dd,转换为yyyymmdd,以直接比较两个日 期的大小.. 4 1.4 判断字符串是否全部由数字组成. 5 1.5 判断字符串是否全部由字母组成. 6 1.6 对于月和日,如果前面有零,去除,如 01 变为 1 .. 6 1.7 为 1 位的日月在前面补零,如将 1 变为 01 .. 7 1.8 在删除按钮的onclick事件触发.. 8 1.9 对输入控件的内容进行非空检验,如果为空,弹出提示信息.. 10 1.10 检验控件值是否是固定位数的有效数字 11 1.11 所输内容应为字母 12 1.12 过滤掉"'"、"%"、"&"、"/"、"" 13 1.13 删除字符串两侧的空格. 14 1.14 取字符串长度(不包含两端的空格) 14 1.15 清空查询条件.. 16 1.16 价格输入是否合法(99,999.00) 17 1.17 检验货票为 1 位字母+6 位数字.. 17 1.18 检验起始货票必须小于截至货票. 18 1.19 检验查询条件是否为空,为空则提示"查询条件不能为空!" 19 1.20 检验是不是最短位数的数字,用于模糊查询. 20 1.21 输入为Decimal格式的数,且小数点前后都不能超过规定的位数 20 1.22 电话校验(只能为横线—、()、或数字) . 21 1.23 检测输入是否为正整数数字,如果结果为非给出相应提示. 22 1.24 避免多次提交页面 在jsp中嵌入该文件,在每个jsp页面的提交语23 1.25 检查EMail格式 23 1.26 电话码由数字和-组成 24 1.26 检验输入的日期yyyy-MM-dd 27 1.27 去掉界面上开头的空格,过滤掉"'" 和""" . 33 1.29 去掉汉字间空格. 35 1.30 大小写转换 36 1.31 过滤掉"'"和""" . 36 1.32 清空查询条件.. 37 1.33 过滤掉"'"和"""和空格. 37 1.34 操作员代码为 7 位数字,密码最少为 4 位 .. 38 1.35 身份证为 15 或 18 位数字或字母 38 1.36 检验输入的时间段,日期格式yyyy-MM-dd 39 1.37 检验输入的时间段,日期格式yyyy-MM-dd 41 1.39 检查EMail格式是否正确.. 47 1.40 电话校验(只能为下划线—、()、或数字) 49 1.41 所输内容应为字母 50 1.41 所输内容不能非空 50 1.42 价格输入是否合法(99,999.00) 51 1.43 价格输入是否合法(99,999.00) 52 1.44 判断文本内容是否少于 2 个汉字/字符(js中汉字和字符占位一 样).. 53 1.45 检测输入是否只有字母或数字. 53 1.46 检测输入是否只有数字或不详,且输入数值不能过大(不能超过 32767).. 54 1.47 检测输入是否为数字.. 55 1.48 监测输入是否为数字,且所输入数值不能过大(不能超过 5 位 32767).. 56 1.49 检测输入是否为整形数字,且所输数值不能过大(不能超过 10 位 2147483647). 57 1.52 输入为Decimal格式的数,且小数点前后都不能超过规定的位数 /************************************ .. 59 1.53 可以为负数的数字,数值不能超过 5 位 32767 . 60 1.54 险情报告编为四位年份加三位数字. 61 1.55 检验度数控制值是否是数字,并且小于或等于 180; /************************************ .. 62 1.56 删除字符串两侧的空格,返回的是删除两侧空格的字符串. 63 1.57 打开模式窗口,窗口居中 65 1.59 检验输入的时间段,日期格式yyyy-MM-dd 67 1.60 检验输入的日期yyyy-MM-dd 69 1.61 用下拉框显示月、日,日下拉框根据年月确定 73 1.62 检验租赁合同为 4 位年份+2 位月份+本月合同的顺序 2 位 75 1.63 用于多行校验校验每一行,每一列值是否为空,传入的必须是 . 76 1.64 检查某列得多值中是否存在重复值.. 79 1.65 检查某列得多值与某一值得比较是否相同,例如多个到站路局与 一个发站路局是否相同 80 1.66 检查两多值列是否相同,例如同一行的装车路局是否与卸车站所 属路局是否相同 80 1.67 检查箱数与组数. 81 1.68 检查箱数与组数. 82 1.69 检查箱数与组数. 84 1.70 检查单列多值不能超过一定得长度.. 85 1.71 取字符串长度(不包含两端的空格 . 86 1.72 向表格中添加一行 86 1.73 将添加的输入框元素和Validator进行绑定。.. 89 1.74 根据标签展示的 的validator属性获取校验器类名(DecimalValidator) 91 1.75 删除一行. 92 1.76 根据箱型,校验箱数与组数的值是否符合规定 93 1.77 删除字符串两侧的空格. 95 1.78 检验单个集装箱为 4 位字母+7 位数字. 95 1.79 检验多个集装箱为 4 位字母+7 位数字. 97 1.80 检验单个集装箱为'TBJU'+7 位数字用于租赁部分的箱校验 .. 101 1.86 判断字符串是否全部由字母组成. 105 1.88 为 1 位的日月在前面补零,如将 1 变为 01 .. 107 1.90 检查EMail格式. 107 1.91 对输入控件的内容进行非空检验,如果为空,弹出提示信息. 109 1.92 检验控件值是否是固定位数的有效数字. 110 1.93 所输内容应为字母. 111 1.94 过滤掉"'"、"%"、"&"、"/"、"" . 112 1.95 取字符串长度(不包含两端的空格) . 113 1.96 将金额转化成按千分位的显示格式 114 1.97 清空查询条件 115 1.98 价格输入是否合法(99,999.00). 115 1.99 检验货票为 1 位字母+6 位数字 116 2.00 检验起始货票必须小于截至货票.. 117 2.01 检验查询条件是否为空,为空则提示"查询条件不能为空!" . 118 2.02 检验是不是最短位数的数字,用于模糊查询.. 118 2.03 输入为Decimal格式的数,且小数点前后都不能超过规定的位数 .. 119 2.04 电话校验(只能为横线?、()、或数字) . 120 2.05(1)电话码由数字和-组成 120 (2)电话码为 7 到 13 位 . 120 (3)13 开头的头的手机码必须为 11 位 120 2.06 检测输入是否为正整数数字,如果结果为非给出相应提示.. 121 2.07 避免多次提交页面 在jsp中嵌入该文件,在每个jsp页面的提交语句 前执行该方法.. 121 2.08 检查EMail格式. 122 2.09 电话码由数字和-组成. 123 2.10 检验IP地址 . 124 2.11 校验忽略样式内容后文本域中的内容是否为空//校验忽略样式内容 后文本域中的内容是否为空.. 124 2.12 计算天数差的函数. 125 2.13 把结束日期月份加上月末日期.. 125 2.14 检验输入的日期yyyy-MM 126
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值