|
|
3#

楼主 |
发表于 2009-2-21 19:34:45
|
只看该作者
check.js
////////////////////////////////////////////////////////
// 作者:
// 功能:按钮图标切换的函数
// 创建日期:
// 修改日期:
////////////////////////////////////////////////////////
function isValidBrowser() {
var s = navigator.userAgent;
if (s.indexOf("MSIE") == -1)
{
return false;
}
var ss = s.split(" ");
var i=0;
var version = 0;
for(i=0;i<ss.length;i++)
{
if ( ss=="MSIE" ) {
version = ss[i+1].substring(0,1);
break;
}
}
if (version < 5) {
return false;
}
return true;
}
function isCookieEnabled() {
return window.navigator.cookieEnabled;
}
// Create a cookie with the specified name and value.
// The cookie expires at the end of the 20th century.
function SetCookie(sName, sValue,expires)
{
var expireStr = "";
var expireDate = new Date();
var offset = 0-expireDate.getTimezoneOffset();
offset = 0;
var now = new Date();
if (expires == 0) {
expireDate = new Date(expireDate.valueOf()+offset*60*1000-86400000);
expireStr = "; expires="+expireDate.toUTCString()+";";
}
else if (expires > 0){
expireDate = new Date(expireDate.valueOf()+offset*60*1000+expires*1000);
expireStr = "; expires="+expireDate.toUTCString()+";";
}
// alert(expireStr);
document.cookie = sName + "=" + escape(sValue) + expireStr;
}
// Retrieve the value of the cookie with the specified name.
function GetCookie(sName)
{
// cookies are separated by semicolons
var aCookie = document.cookie.split("; ");
for (var i=0; i < aCookie.length; i++)
{
// a name/value pair (a crumb) is separated by an equal sign
var aCrumb = aCookie.split("=");
if (sName == aCrumb[0])
return unescape(aCrumb[1]);
}
// a cookie with the requested name does not exist
return "";
}
function confirmModifyRate() {
//louyang 2002.1.11
//return confirm("您即将修改您的计费策略。根据您选择的计费策略,系统可能会立即扣款!\n您确定要修改当前计费策略吗?");
return confirm("您确定要修改计费策略吗?");
}
function confirmDeleteRate() {
return confirm("您确定要删除计费策略吗?");
}
function confirmAddOrder(i) {
if (i == '1'){
return confirm("根据您选择的计费策略,系统会立即扣费\n\n 您确定要开通该业务吗?");
}else{
return confirm("您确定要开通该业务吗?");
}
}
//louyang 2002.1.15
function confirmOpenView() {
return confirm("您确定要开通视讯业务吗?");
}
function confirmDeleteView() {
return confirm("您确定要取消视讯业务吗?");
}
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a)&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a.indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a;}}
}
function MM_findObj(n, d) { //v4.0
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers.document);
if(!x && document.getElementById) x=document.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
////////////////////////////////////////////////////////
// 作者:zhanyb
// 功能:客户端数据监测
// 创建日期:2000/6/10
// 修改日期:2000/7/06
////////////////////////////////////////////////////////
varMsgBufSize=8;
varMessage= new Array(MsgBufSize);
varMsgFieldError ="参数输入错误,域名:";
Message[0]="删除该集团以及所有成员,是否确定?";
Message[1]="不能同时输入分机号和真实手机号";
Message[2]="分机号和真实手机号不能同时为空";
Message[3]="两次输入的密码不相同";
Message[4]="集团号,集团名称不能同时为空";
Message[5]="集团号,集团名称不能同时输入";
Message[6]="集团号必须以省号开头";
Message[7]="本系统对字符 ,'\"\\|;!><$ 敏感,请避免输入这些字符";
////////////////////////////////////////////////////////
// 显示报警消息正文
////////////////////////////////////////////////////////
function Refocus(field){
field.focus();
if (field.type=="text")
{
field.select();
}
}
function DspAlert1(field,casenum,msg){
vartemp;
if(msg == null) msg = "";
Refocus(field);
temp=Schelmttl(field.name,casenum);
alert('\n'+MsgFieldError+temp+msg+'\n');
}
function DspAlert(field,casenum){
vartemp;
Refocus(field);
temp=Schelmttl(field.name,casenum);
alert('\n'+MsgFieldError+temp+'\n');
}
function DAlert(field,msg){
// var temp;
Refocus(field);
// temp=Schelmttl(field.name,casenum);
alert('\n'+msg);
}
////////////////////////////////////////////////////////
// trim一个字符串
////////////////////////////////////////////////////////
function trim(sData)
{
if (sData == null)
return "";
while ((sData.length >0) &&(( sData.charAt(0)==' ' ) ||( sData.charAt(0)=='\t' )))
{
sData=sData.substring(1,sData.length);
}
while ((sData.length >0) &&(( sData.charAt(sData.length-1)==' ' )||sData.charAt(sData.length-1)=='\t'))
{
sData=sData.substring(0,sData.length-1);
}
return sData;
}
////////////////////////////////////////
// 描述:去掉字符串中前后的空格和前面的0
////////////////////////////////////////
function trimnum(sData)//去空格和0
{
if(sData == null)
{
return "";
}
while ((sData.length >0) &&(( sData.charAt(0)=='0' && sData.length > 1) || ( sData.charAt(0)==' ') ||( sData.charAt(0)=='\t' )||( sData.charAt(0)=='\n' )||( sData.charAt(0)=='\r')))
{
sData=sData.substring(1,sData.length);
}
while ((sData.length >0) &&(( sData.charAt(sData.length-1)==' ' )||sData.charAt(sData.length-1)=='\t' ||sData.charAt(sData.length-1)=='\n' ||sData.charAt(sData.length-1)=='\r'))
{
sData=sData.substring(0,sData.length-1);
}
return sData;
}
/////////////////////////////////e///////////////////////
// 取得当前日期,格式yyyy-mm-dd
////////////////////////////////////////////////////////
function GetCurrentDate()
{
var Year=0;
var Month=0;
var Day=0;
var CurrentDate = new Date();
return ChangeDateToString(CurrentDate);
}
////////////////////////////////////////////////////////
// 取得当前日期,若干天前后的日期,格式yyyy-mm-dd
////////////////////////////////////////////////////////
function GetDate(day)
{
var ms=0;
var CurrentDate = new Date();
ms= CurrentDate.getTime();
ms= ms + day*24*60*60*1000;
var NewDate = new Date(ms);
var sNewDate;
sNewDate= ChangeDateToString(NewDate);
return sNewDate;
}
////////////////////////////////////////////////////////
// 将日期类型转换成字符串型格式yyyy-mm-dd
////////////////////////////////////////////////////////
function ChangeDateToString(DateIn)
{
var Year=0;
var Month=0;
var Day=0;
var CurrentDate="";
//初始化时间
Year = DateIn.getYear();
Month = DateIn.getMonth()+1;
Day = DateIn.getDate();
CurrentDate = Year + "-";
if (Month >= 10 )
{
CurrentDate = CurrentDate + Month + "-";
}
else
{
CurrentDate = CurrentDate + "0" + Month + "-";
}
if (Day >= 10 )
{
CurrentDate = CurrentDate + Day ;
}
else
{
CurrentDate = CurrentDate + "0" + Day ;
}
return CurrentDate;
}
////////////////////////////////////////////////////////
// 验证是否为空
////////////////////////////////////////////////////////
function ValidNull(field,casenum,AllowNull){
if ((field.value.length==0 && AllowNull==true) ||
field.value.length!=0 ){
return true;
}
else {
DspAlert(field,casenum);
return false;
}
}
////////////////////////////////////////////////////////
// 验证不能输入
// 作者:duym
////////////////////////////////////////////////////////
function BeNull(field,casenum)
{
// field 有值时出错
if ((field.value != null)&&(field.value != ""))
{
DspAlert1(field,casenum,"此参数不能输入");
return false;
}
// field 无值时对
return true;
}
////////////////////////////////////////////////////////
// 验证仅包含字母与数字
////////////////////////////////////////////////////////
function ValidKey(field,casenum) {
varvalid ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
varok = "yes";
vartemp;
for(var i=0; i<field.value.length;i++) {
temp = "" +field.value.substring(i, i+1);
if (valid.indexOf(temp)== "-1") ok= "no";
}
if (ok == "no"){
DspAlert(field,casenum);
return false;
}
return true;
}
////f//////////////////////////////////////////////////
//验证所有字符都在指定的字符集中
/////////////////////////////////////////////////////
function letterInclude(sData,include){
var i,templetter;
if(include == null || include == "")
return flase;
for(i = 0;i <sData.length;i++){
templetter = sData.charAt(i);
if(include.indexOf(templetter) < 0)
return false;
}
return true;
}
//////////////////////////////////////////////////////
//验证所有字符都不在指定的字符集中
/////////////////////////////////////////////////////
function letterNotInclude(sData,notinclude){
var i,templetter;
if(notinclude == null || notinclude == "")
return true;
for(i = 0;i <sData.length;i++){
templetter = sData.charAt(i);
if(notinclude.indexOf(templetter)>=0)
return false;
}
return true;
}
////////////////////////////////////////////////////////
// 验证第一个为字母,其他为字母与数字
////////////////////////////////////////////////////////
function ValidId(field,casenum){
varfirstvalid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
varvalid ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
varok = "yes";
vartemp;
if (firstvalid.indexOf(field.value.substring(0,1))=="-1")
{ok = "no"}
else
{
for (var i=0;i<field.value.length; i++) {
temp = ""+ field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok ="no";
}
}
if (ok == "no"){
DspAlert(field,casenum);
return false;
}
return true;
}
////////////////////////////////////////////////////////
// 验证不包含特殊保留字的字符串,可以输入中文
////////////////////////////////////////////////////////
function ValidInvaKey(field,casenum) {
varinvalid;
varfind = "no";
vartemp;
//begin v100r002.1 d123 IT21PT-461-E13891 zhuchengfang 2003-04-17
//icpname,servicename,nodename检验时casenum=0
//url检验时casenum=1
//站点介绍、业务介绍 检验时casenum =2
if (casenum == "0"){
invalid = ",'\"\\|;!><$()<>:";
}else if(casenum == "1"){
invalid = ",'\"\\|;!><$()<>";
}else{
invalid = "[url=]\\\|!><$[/url]()<>";
}
//end v100r002.1 d123 IT21PT-461-E13891 zhuchengfang 2003-04-17
for(var i=0; i<field.value.length;i++) {
temp = "" +field.value.substring(i, i+1);
if (invalid.indexOf(temp) != -1) find ="yes";
}
if (find =="yes") {
Refocus(field);
alert('\n'+"本系统对字符 "+invalid+" 敏感,请避免输入这些字符"+'\n'); //modify v100r002.1 d123 IT21PT-461-E13891 zhuchengfang 2003-04-17
return false;
}
return true;
}
////////////////////////////////////////////////////////
// 验证零
////////////////////////////////////////////////////////
function ValidZero(field,casenum) {
if (field.value== 0) {
DspAlert(field,casenum);
return false;
}
return true;
}
////////////////////////////////////////////////////////
// 验证是否为整数(前后不可有空格)
// 输入:域名,操作索引号
// 输出:
// 1、是整数,true
// 2、不是整数,false,同时在浏览器中弹出消息框,指明哪个域输入非法
////////////////////////////////////////////////////////
function ValidDigit(field,casenum) {
varvalid ="0123456789";
varok = "yes";
vartemp;
varstart =0;
//判断是否为负数
if ( field.value.substring(start, start+1) == "-" )
{
start=1;
}
for(var i=start; i<field.value.length;i++) {
temp = "" +field.value.substring(i, i+1);
if (valid.indexOf(temp)== "-1") ok= "no";
}
if (ok == "no"){
DspAlert(field,casenum);
return false;
}
return true;
}
////////////////////////////////////////////////////////
// 验证仅包含数字(大于等于0)
////////////////////////////////////////////////////////
function ValidDigitNotLessZero(field,casenum) {
varvalid ="0123456789";
varok = "yes";
vartemp;
for(var i=0; i<field.value.length;i++) {
temp = "" +field.value.substring(i, i+1);
if (valid.indexOf(temp)== "-1") ok= "no";
}
if (ok == "no"){
DspAlert(field,casenum);
return false;
}
return true;
}
////////////////////////////////////////////////////////
// 验证日期
////////////////////////////////////////////////////////
function ValidDate(field,casenum) {
// Checks for the followingvalid date formats:
// YY/MM/DD YYYY/MM/DD YY-MM-DD YYYY-MM-DD
// Alsoseparates date intomonth, day,andyear variables
//vardatePat= /^(\d{2}|\d{4})(\/|-)(\d{1,2})(\/|-)(\d{1,2})$/;
vardatePat= /^(\d{2}|\d{4})(\-)(\d{1,2})(\-)(\d{1,2})$/;
// To require a4 digityear entry,usethis line instead:
vardateStr=field.value;
varmatchArray = dateStr.match(datePat); //is the format ok?
if (matchArray == null){
DspAlert(field,casenum);
return false;
}
year = matchArray[1]; // parse dateinto variables
month =matchArray[3];
day= matchArray[5];
if (year.length!=4 || month.length!=2 || day.length!=2){
DspAlert(field,casenum);
return false;
}
if (month <1 || month > 12) { // checkmonth range
DspAlert(field,casenum);
return false;
}
if (day< 1|| day > 31) {
DspAlert(field,casenum);
return false;
}
if ((month==4 || month==6 || month==9 || month==11)&& day==31){
DspAlert(field,casenum);
return false;
}
if (month == 2){ // check for february29th
varisleap = (year % 4 == 0&& (year % 100 != 0|| year% 400 == 0));
if (day>29 || (day==29 && !isleap)){
DspAlert(field,casenum);
return false;
}
}
return true; // date is valid
}
////////////////////////////////////////////////////////
// 验证时间(12)王明虎 2000-07-23 未被引用,注释掉
////////////////////////////////////////////////////////
//function ValidTimeFmt(field,casenum) {
// Checks if time is inHH:MM:SS AM/PM format.
// The seconds and AM/PM are optional.
//
// var timePat =/^(\d{1,2}):(\d{2})(:(\d{2}))?(\s?(AM|am|PM|pm))?$/;
// var timeStr=field.value;
// var matchArray = timeStr.match(timePat);
// if (matchArray ==null) {
// DspAlert(field,casenum);
// return false;
// }
// hour = matchArray[1];
// minute = matchArray[2];
// second = matchArray[4];
// ampm = matchArray[6];
//
// if (second=="") {second = null; }
// if (ampm==""){ ampm = null }
//
// if (hour.length!=2 ||minute.length!=2 ||(second!=null && second.length!=2)){
// DspAlert(field,casenum);
// return false;
// }
//
// if (hour < 0|| hour> 23) {
// DspAlert(field,casenum);
// return false;
// }
// if (hour <= 12 &&m ==null) {
// if (confirm(Message[9])) {
// DspAlert(field,casenum);
// return false;
// }
// }
// if (hour > 12&& ampm!= null) {
// DspAlert(field,casenum);
// return false;
// }
// if (minute<0 || minute > 59) {
// DspAlert(field,casenum);
// return false;
// }
// if (second !=null &&(second< 0|| second >59)) {
// DspAlert(field,casenum]);
// return false;
// }
// return true;
//}
//
////////////////////////////////////////////////////////
// 验证报表日期格式
////////////////////////////////////////////////////////
function ValidYearMonth(field,casenum) {
// Checks for the followingvalid date formats:
// YYYYMM
// Alsoseparates date intomonth, day,andyear variables
// To require a4 digityear entry,usethis line instead:
vardateStr=field.value;
if (dateStr== null||dateStr==""){
DspAlert(field,casenum);
return false;
}
if(isNaN(dateStr)){
DspAlert(field,casenum);
return false;
}
if (dateStr.length!=6){
DspAlert(field,casenum);
return false;
}
year=dateStr.substring(0,4);
month=dateStr.substring(4,6);
if (month <1 || month> 12){
DspAlert(field,casenum);
return false;
}
return true; // date is valid
}
////////////////////////////////////////////////////////
// 验证时间(24)
////////////////////////////////////////////////////////
function ValidTime(field,casenum) {
// Checks if time is inHH:MM:SS format.
vartimePat= /^(\d{1,2}):(\d{2})(:(\d{2}))$/;
vartimeStr=field.value;
varmatchArray = timeStr.match(timePat);
if (matchArray == null){
DspAlert(field,casenum);
return false;
}
hour = matchArray[1];
minute = matchArray[2];
second = matchArray[4];
if (second==""){ second = null; }
if (hour.length!=2 || minute.length!=2 || (second!=null&& second.length!=2)) {
DspAlert(field,casenum);
return false;
}
if (hour < 0 || hour >23){
DspAlert(field,casenum);
return false;
}
if (minute<0 ||minute > 59) {
DspAlert(field,casenum);
return false;
}
if (second != null && (second <0 || second> 59)) {
DspAlert(field,casenum);
return false;
}
return true;
}
////////////////////////////////////////////////////////
//用户字符串比较大小
//验证num1是否是在"0"~"num2"之间
///////////////////////////////////////////////////////
function isBelow(num1,num2){
num1 = trimnum(num1);
num2 = trimnum(num2);
if (!letterInclude(num1,"0123456789") || !letterInclude(num2,"0123456789"))
return false;
if(num1.length > num2.length || (num1.length == num2.length && num1 > num2))
return false;
return true;
}
////////////////////////////////////////////////////////
// 验证大小比较
////////////////////////////////////////////////////////
function ValidRange(field,casenum,Lower,Higher)
{
if (field.value.length ==0)
return true;
if (field.value>=Lower && field.value<=Higher){
return true;
}
else {
//DspAlert(field,casenum);
return false;
}
}
////////////////////////////////////////////////////////
// 验证范围
////////////////////////////////////////////////////////
function ValidLength(field,casenum,Lower,Higher) {
varlen = GetStrLen(field.value);//主要是区别中文, added by ZhangJin
if (len>=Lower && len<=Higher){
return true;
}
else {
DspAlert(field,casenum);
return false;
}
}
//取中文的字节数, added by ZhangJin
function GetStrLen(AStr)
{
var nCount = 0;
var nLenByte = AStr.length;
for(nPos = 0;nPos<nLenByte;nPos ++)
{
if(AStr.charCodeAt(nPos)>256)
nCount = nCount + 2;
else
nCount = nCount + 1;
}
//window.alert(nCount);
return nCount;
}
////////////////////////////////////////////////////////
// 验证定长数字字符串
////////////////////////////////////////////////////////
function ValidNumLen(field,casenum,Lower,Higher,AllowNull) {
if (!ValidNull(field,casenum,AllowNull)){
return false;
}
//修改
if (field.value.length==0 && AllowNull==true) {
return true;
} //修改。允许为空且字段确实为空则不检查长度和小数点。
if (!ValidDigitNotLessZero(field,casenum)){
return false;
}
if (!ValidLength(field,casenum,Lower,Higher)){
return false;
}
return true;
}
////////////////////////////////////////////////////////
// 验证定大小范围数字字符串
////////////////////////////////////////////////////////
function ValidNumRng(field,casenum,Lower,Higher,AllowNull) {
if (!ValidNull(field,casenum,AllowNull)){
return false;
}
if (!ValidDigitNotLessZero(field,casenum)){
return false;
}
if (!ValidRange(field,casenum,Lower,Higher)){
return false;
}
return true;
}
////////////////////////////////////////////////////////
// 验证定长字符串
////////////////////////////////////////////////////////
function ValidKeyLen(field,casenum,Lower,Higher,AllowNull) {
if (!ValidNull(field,casenum,AllowNull)){
return false;
}
if (!ValidKey(field,casenum)){
return false;
}
if (!ValidLength(field,casenum,Lower,Higher)){
return false;
}
return true;
}
////////////////////////////////////////////////////////
// 下面的数据为业务数据类型检查
////////////////////////////////////////////////////////
////////////////////////////////////////////////////////
// 验证口令
////////////////////////////////////////////////////////
function ValidOprPsw(field,casenum,AllowNull) {
if (field.value.length==0 && AllowNull){
return true;
}
if (!ValidNull(field,casenum,AllowNull)){
return false;
}
if (!ValidKey(field,casenum)){
return false;
}
if (!ValidLength(field,casenum,1,8)){
return false;
}
return true;
}
////////////////////////////////////////////////////////
// 验证密码相同
////////////////////////////////////////////////////////
function ValidSame(field1,field2,casenum) {
if (field1.value!=field2.value){
DspAlert1(field2,casenum,Message[3]);
return false;
}
return true;
}
/******************************************************/
//------------------------------------------------------------------
/******************************************************/
/******************************************************/
////////////////////////////////////////////////////////
// 验证业务费率RATE
// 作者:duym
////////////////////////////////////////////////////////
function ValidRateRate(field,casenum)
{
if(!ValidNull(field,casenum,false))
{
return false;
}
if (!ValidRange(field,casenum,0,2147483647))
{
return false;
}
return true;
}
////////////////////////////////////////////////////////
// 验证业务费率类型
// 作者:duym
////////////////////////////////////////////////////////
function ValidRateType(field,casenum,scp)
{
// 如未提供scp本参数必须提供,否则参数不能输入
if (scp.selectedIndex == 0)
{
if (!ValidNull(field,casenum,false))
{
return false;
}
}
// 否则参数不能输入
else
{
if (!BeNull(field,casenum))
{
return false;
}
}
return true;
}
////////////////////////////////////////////////////////
// 验证业务费率GR1
// 作者:duym
////////////////////////////////////////////////////////
function ValidRateGR1(field,casenum,scp,tp)
{
// 如提供 SCP 号,本参数不能提供
if (scp.selectedIndex!= 0)
{
if (!BeNull(field,casenum))
{
return false;
}
}
// 如未提供SCP号,本参数必须提供
else
{
// 不可为空
if (!ValidNull(field,casenum,false))
{
return false;
}
// 必须为整数
if(!ValidDigit(field,casenum))
{
return false;
}
if(tp.value== "2")
{
if(field.value < 0)
{
DspAlert(field,casenum);
return false;
}
}
}
return true;
}
//////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
//pps 业务的check
//////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
//检查手机号码
//////////////////////////////////////////////////////////////////////////////////////
function ValidMsisdn(field,casenum,AllowNull)
{
if (field.value.length==0 && AllowNull)
{
return true;
}
if (!ValidNull(field,casenum,AllowNull))
{
return false;
}
if (!ValidDigitNotLessZero(field,casenum))
{
return false;
}
if (!ValidLength(field,casenum,11,11))
{
return false;
}
return true;
}
//////////////////////////////////////////////////////////////////////////////////////
//检查手机密码
//////////////////////////////////////////////////////////////////////////////////////
function ValidMSUBPSWD(field,casenum,AllowNull)
{
if (field.value.length==0 && AllowNull)
{
return true;
}
if (!ValidNull(field,casenum,AllowNull))
{
return false;
}
if (!ValidDigitNotLessZero(field,casenum))
{
return false;
}
if (!ValidLength(field,casenum,8,8))
{
return false;
}
return true;
}//end of function ValidMSUBPSWD(field,casenum,AllowNull)
//检查是否以零开始
function ValidNotStartZero(field,casenum)
{
if(field.value.substring(0,1) == "0")
{
DspAlert(field,casenum);
return false;
}
}
////////////////////////////////////////////////////////////////////////////////
//根据省号取业务区/地区
//输入:
// PROVINCENOLIST 省号列表输入框
// SERVAREANOLIST 业务区/地区列表输入框
// ServAreaStr 字符串,业务区列表,一个典型的列表如下
// "01|beijing|01|23|"&"03002001|广州|03|20|"&"03075501|深圳|03|755|"
//注意:双引号已被换为\10
// ServOrArea 要显示的是业务区还是地区号(1 业务区 2 地区)
// AllowNull 业务区/地区可否为空
// author 王明虎
// date 2000-10-14
////////////////////////////////////////////////////////////////////////////////
function getArea_6(PROVINCENOLIST,SERVAREANOLIST,ServAreaStr,ServOrArea,AllowNull)
{
var iPoint=0;
var iStart=0;
var iEnd=0;
var iCount=0;
// alert("go into getArea");
deleteAllItems(SERVAREANOLIST);
//允许为空,增加一个空值
if ( AllowNull == true)
{
option= new Option("","" );
SERVAREANOLIST.options[iCount]=option;
iCount=1;
}
var sProvinceNo = PROVINCENOLIST.options[PROVINCENOLIST.selectedIndex].value;
if ( sProvinceNo == "null" || sProvinceNo == "")
{
return;
}
ServAreaStr = "& " +ServAreaStr;
while (iPoint != -1)
{
//去掉第一个&和'\10'
ServAreaStr = ServAreaStr.substring(2,ServAreaStr.length);
// alert("ServAreaStr="+ServAreaStr);
var sOneServAreaNo;
var sOneServiceName;
var sOneProvinceNo;
var sOneAreaNo;
//业务区号
iEnd = ServAreaStr.indexOf( '|')
if (iEnd == -1)
{
return;
}
sOneServAreaNo = ServAreaStr.substring(0,iEnd);
//由于mvpn业务的业务区号要求为六位,所以需要截取前面六位
if (iEnd>=6)
sOneServAreaNo = sOneServAreaNo.substring(0,6);
ServAreaStr = ServAreaStr.substring(iEnd +1,ServAreaStr.length);
// alert("ServAreaStr after sServAreaStr after sServAreaStr after sServAreaStr after s|"+ sOneServiceName,sOneServAreaNo );
}
else
{
//地区号
option= new Option(sOneAreaNo+"|"+ sOneServiceName,sOneAreaNo);
}
SERVAREANOLIST.options[iCount]=option;
iCount++;
iPoint = ServAreaStr.indexOf('&');
}//end of while (iPoint <> -1)
}//end of function getArea(PROVINCENOLIST,SERVAREANOLIST,ServAreaStr,ServOrArea)
////////////////////////////////////////////////////////////////////////////////
//根据省号取业务区/地区
//输入:
// PROVINCENOLIST 省号列表输入框
// SERVAREANOLIST 业务区/地区列表输入框
// ServAreaStr 字符串,业务区列表,一个典型的列表如下
// "01|beijing|01|23|"&"03002001|广州|03|20|"&"03075501|深圳|03|755|"
//注意:双引号已被换为\10
// ServOrArea 要显示的是业务区还是地区号(1 业务区 2 地区)
// AllowNull 业务区/地区可否为空
// author 王明虎
// date 2000-10-14
////////////////////////////////////////////////////////////////////////////////
function getArea(PROVINCENOLIST,SERVAREANOLIST,ServAreaStr,ServOrArea,AllowNull)
{
var iPoint=0;
var iStart=0;
var iEnd=0;
var iCount=0;
// alert("go into getArea");
deleteAllItems(SERVAREANOLIST);
//允许为空,增加一个空值
if ( AllowNull == true)
{
option= new Option("","" );
SERVAREANOLIST.options[iCount]=option;
iCount=1;
}
var sProvinceNo = PROVINCENOLIST.options[PROVINCENOLIST.selectedIndex].value;
if ( sProvinceNo == "null" || sProvinceNo == "")
{
return;
}
ServAreaStr = "& " +ServAreaStr;
while (iPoint != -1)
{
//去掉第一个&和'\10'
ServAreaStr = ServAreaStr.substring(2,ServAreaStr.length);
// alert("ServAreaStr="+ServAreaStr);
var sOneServAreaNo;
var sOneServiceName;
var sOneProvinceNo;
var sOneAreaNo;
//业务区号
iEnd = ServAreaStr.indexOf( '|')
if (iEnd == -1)
{
return;
}
sOneServAreaNo = ServAreaStr.substring(0,iEnd);
//由于mvpn业务的业务区号要求为六位,所以需要截取前面六位
//if (iEnd>=6)
// sOneServAreaNo = sOneServAreaNo.substring(0,6);
ServAreaStr = ServAreaStr.substring(iEnd +1,ServAreaStr.length);
// alert("ServAreaStr after sServAreaStr after sServAreaStr after sServAreaStr after s|"+ sOneServiceName,sOneServAreaNo );
//option= new Option(sOneServAreaNo.substring(0,6) +"|"+ sOneServiceName,sOneServAreaNo );
}
else
{
//地区号
option= new Option(sOneAreaNo+"|"+ sOneServiceName,sOneAreaNo);
}
SERVAREANOLIST.options[iCount]=option;
iCount++;
iPoint = ServAreaStr.indexOf('&');
}//end of while (iPoint <> -1)
}//end of function getArea(PROVINCENOLIST,SERVAREANOLIST,ServAreaStr,ServOrArea)
////////////////////////////////////////////////////////////////////////////////
//删除一个列表中的全部
//输入:
// LISTNAME 列表输入框
// author 王明虎
// date 2000-10-14
////////////////////////////////////////////////////////////////////////////////
function deleteAllItems( LISTNAME )
{
var length1 = LISTNAME.length;
for (var i=0; i <length1; i++)
{
LISTNAME.options[0]=null;
}
}//end of function deleteAllItems( LISTNAME )
/*
手机号码检查函数。使用方法;以控件(field,casenum)为输入数据,经过该函数处理后,形成MML命令所需要的
数据格式的字符串并把该字符串copy到控件setfield。因此在相应的servlet中需要从控件setfield中取数据。
格式要求:控件某行中的数据是一个手机号码、一个手机号码段或包含跳过字符。单个手机号码的前后都允许出现跳过字符,号码段前后或中间也允许出现跳过字符。
*/
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
}
//本函数为setValues()服务
//当需要将有联动关系的两个select的同步时,将调用此函数
//函数名:setValue
//函数参数格式:index,表示当前节点的索引;childindex,表示需要改变的子节点的索引
function setValue(index,childindex)
{
//函数流程
//1.合法性检查
//2.调用setOptions()
//3.取得缺省值,赋值
//合法性检查
if(index<0||index>=SelectList.length)
return;
if(childindex<0||childindex>=SelectList.length)
return;
if(index>=childindex)
return;
//若父节点值为空则返回
var parentvalue=SelectList[index].value;
if(parentvalue==''||parentvalue=='Null'||parentvalue=='null'||parentvalue=='NULL')
return;
//调用setOptions()
setOptions(parentvalue,childindex);
//取得缺省值,赋值
SelectList[childindex].value=SelectDefaults[childindex];
}
//本函数为多级联动服务
//当某一select的值变动时,将调用此函数
//函数名:setValues
//函数参数格式:index,当前下列列表框在多级联动中的索引
function setValues(index)
{
//函数流程
//1.参数合法性判断
//2.寻找一级子节点
//3.若无子节点,则返回,若有子节点,则重复以下步骤
//4.对每个子节点调用setValue(index,childindex)
//5.对每个子节点调用setValues(childindex)
//参数合法性判断
if(index<0||index>=SelectList.length)
return;
//若当前值为空则返回
var val=SelectList[index].value;
if(val==''||val=='Null'||val=='null'||val=='NULL')
return;
//寻找一级子节点
for(var i=index+1;i<mask.length;i++)
{
if(mask==index)
{
//对每个子节点调用setValue(index,childindex)
setValue(index,i);
//对每个子节点调用setValues(childindex)
setValues(i);
}
}
return;
}
function isCorrect(field,pattern,title,optional){
if (field.value==""){
if (optional=="true")
return true;
else{
alert("请输入“"+title+"”!");
field.focus();
return false;
}
}else{
if (!pattern.test(field.value)){
alert("对不起,您输入的“"+title+"”格式不对,请检查并重新输入!");
field.focus();
field.select();
return false;
}
else
return true;
}
}
function satisfy(exp,help){
exp=exp.replace( /\$([A-Za-z0-9_]+\b)/g,"document.data.$1.value");
if (eval(exp))
return true;
else{
alert(help);
return false;
}
} |
|