function MSISDNalert(WrongRow){
alert("手机号码第"+WrongRow+"行输入有错");
}
function isValidMsisdn(InputStr){
var len=InputStr.length;
if ((len==11) || (len==0)){return true;} else {return false;}
}
function AnalyseMSISDN(pField,casenum,setfield)
{
if (!ValidNull(pField,casenum,false)){
return false;
}
if(pField.value.length>32768)
{
alert("号码总长度不能超过32K");
Refocus(pField);
return false;
}
var ArrMSISDN=pField.value.split("\n");
if(ArrMSISDN.length>2000)
{
alert("号码行数不能超过2000行");
Refocus(pField);
return false;
}
var MSISDNNO="0123456789";//手机号码允许的数字。
var SpanString=" -";//分隔字符
var SkipString=unescape("%09")+unescape("%0D")+unescape("%20")//+unescape("%0D");//跳过字符:TAB键、空格、ENTER键
var temOutputStr="";
for (var j=0;j<ArrMSISDN.length;j++)//对textarea中每个值进行号码分析。
{
var MSISDN1="";
var MSISDN2="";
temMSISDN="";
var AnalyseState=0;//0:未分析到数字或分析到跳过字符;1:第一次分析数字;
//2:分析到分隔字符;3:第二次分析数字;4:第二次分析数字完毕,遇到其它符号
for (var i=0;i<ArrMSISDN[j].length;i++){
var tempStr=ArrMSISDN[j].substring(i,i+1);
switch(AnalyseState){
case 0:
if (MSISDNNO.indexOf(tempStr)>=0){
AnalyseState=1;
MSISDN1=MSISDN1+tempStr;
break;
}
if (SkipString.indexOf(tempStr)>=0){
break;
}
MSISDNalert(j+1);
return false;
case 1:
if (MSISDNNO.indexOf(tempStr)>=0){
MSISDN1=MSISDN1+tempStr;
break;
}
if (SpanString.indexOf(tempStr)>=0){
AnalyseState=2;
break;
}
if (SkipString.indexOf(tempStr)>=0){
AnalyseState=4;
break;
}
MSISDNalert(j+1);
return false;
case 2:
if (SpanString.indexOf(tempStr)>=0){
break;
}
if (MSISDNNO.indexOf(tempStr)>=0){
MSISDN2=MSISDN2+tempStr;
AnalyseState=3;
break;
}
if (SkipString.indexOf(tempStr)>=0){
AnalyseState=4;
break;
}
MSISDNalert(j+1);
return false;
case 3:
if (MSISDNNO.indexOf(tempStr)>=0){
MSISDN2=MSISDN2+tempStr;
break;
}
if (SkipString.indexOf(tempStr)>=0){
AnalyseState=4;
break;
}
MSISDNalert(j+1);
return false;
case 4:
if (SkipString.indexOf(tempStr)>=0){
break;
}
MSISDNalert(j+1);
return false;
default:
MSISDNalert(j+1);
return false;
}
}
if (!isValidMsisdn(MSISDN1)){
MSISDNalert(j+1);
return false;
}
if (!isValidMsisdn(MSISDN2)){
MSISDNalert(j+1);
return false;
}
if ((MSISDN1!="") && (MSISDN2!="")){
if (MSISDN1>MSISDN2){
MSISDNalert(j+1);
return false;
}
temMSISDN=MSISDN1+"&&"+MSISDN2;
}
if ((MSISDN1!="") && (MSISDN2=="")){
temMSISDN=MSISDN1;
}
if ((MSISDN1=="") && (MSISDN2!="")){
temMSISDN=MSISDN2;
}
if ((MSISDN1=="") && (MSISDN2!="")){
temMSISDN="";
}
if (temMSISDN!=""){
if (temOutputStr==""){temOutputStr=temMSISDN;}
else{temOutputStr=temOutputStr+"&"+temMSISDN;}
}
};
if(temOutputStr==""){DspAlert(pField,casenum);return false;}
setfield.value=temOutputStr;
return true ;
}
//本函数可直接调用,也为setValue()服务
//当需要对某下拉列表初始化时,即可调用此函数
//函数名:setOptions
//函数参数格式:
//parentvalue,上一级父节点的取值,它与linkage共同筛选options[]中的选项;
//index,需要被初始化的下拉列表的索引
function setOptions(parentvalue,index)
{
//函数流程
//1.合法性检查
//2.取得options
//3.取得option_index
//4.取得linkage
//5.重构option
//合法性检查
if(index<0||index>=SelectList.length)
return;
//定义变量
var select = SelectList[index];
var all=(parentvalue==''||parentvalue=='Null'||parentvalue=='null'||parentvalue=='NULL');
//取得options
var soptions = SelectOptions[index];
//取得option_index
var soption_index = SelectOptionIndexes[index];
//取得linkage
var slinkage = linkage[index];
//清空
select.options.length=0;
//重构option
for(var i=0;i<soptions.length;i++)
{
//全部取出或符合条件
if(all||soptions[slinkage]==parentvalue)
{
var val = soptions[soption_index[0]];
var dsp = val;
for(j=1;j<soption_index.length;j++)
{
dsp += '|'+ soptions[soption_index[j]]
}
select.options[select.options.length] = new Option(dsp,val);
}
}//end of for