无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2156|回复: 5
打印 上一主题 下一主题

两个垄断集团的嘴脸

[复制链接]
跳转到指定楼层
1#
发表于 2009-2-21 19:26:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
中国移动和微软的垄断!
这几天要用linux,只是可惜移动宽带的active 验证无法通过,(必须要求ie验证)用opera模拟ie6.0内核也无法通过,不能上网也是白搭
有高手可以破解吗?谢谢了
2#
 楼主| 发表于 2009-2-21 19:32:08 | 只看该作者
附源码:
<script language='javascript' src="../check.js">
</script>
<script language='javascript'>
  if (!isValidBrowser()) { //非IE肯定下载控件失败,这里坦白从宽。
    location.replace('http://211.142.21.59/ipError.jsp?isIE=0&natType=0&key=1235212299953');
  }
</script>
<html>
<div style="visibility:hidden">
<OBJECT
    id="PortalClient"
    classid="clsid:414E7D87-8073-4EFB-9E4B-C8DF04C979EE"
    codebase=http://211.142.21.59/PortalAX02.cab#version=1,0,1,6
    width=10
    height=10
>
  <param name='httpPrefix' value='http://211.142.21.59'>
  <param name='httpsPrefix' value='http://211.142.21.59'>
  <param name='LogEnabled' value='true'>
  <param name='ProxyName' value='"winproxy.exe"|"wrladmin.exe"|"WGEngMon.exe"|"WGVpnMon.exe"|"Sygate.exe"|"CCPROXY.exe"|"superproxy.exe"|"ICSMGR.EXE"'>
  <param name='ProxyInterval' value='300'>
  <param name='CheckProxyEnabled' value='false'>
</OBJECT>
</div>
<form name=mainform method=post action="http://211.142.21.59/webLogin.jsp">
<input type=hidden name="LocalIP" value="">
<input type=hidden name="ProxyFlag" value="">
</form>
<div id='axwait'>
<font style="font-Size: 15px;">
<br>正在连接服务器...请稍候。如果超过1分钟页面没有响应,请降低浏览器的安全级别后重试!</font>
</div>
<script language='javascript' event="OnCreate" for="PortalClient">
  PortalClient.init_var();
  mainform.LocalIP.value = PortalClient.localIP;
  mainform.ProxyFlag.value = PortalClient.ProxyFlag;
  if ((mainform.LocalIP.value != 'undefined')&&(mainform.LocalIP.value != '')&&(mainform.LocalIP.value != null)){
    mainform.submit();
  } else {
    location.replace('http://211.142.21.59/ipError.jsp?isIE=1&natType=0&key=1235212299953');
  }
</script>
<script language='javascript'>
  function axfail(){
    location.replace('http://211.142.21.59/ipError.jsp?isIE=1&natType=0&key=1235212299953');
  }
  window.setTimeout("axfail();",40000);
  window.setTimeout("axwait.style.display = 'none';",40000);
</script>
</html>
回复

使用道具 举报

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 &&ampm ==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;
  }
}
回复

使用道具 举报

4#
 楼主| 发表于 2009-2-21 19:44:59 | 只看该作者
两个让人深恶痛绝的垄断集团,用了这么卑鄙下流的手段,我甚至怀疑两者有什么内部交易,就像以前微软 20元卖给小学的word和excel一样卑鄙,现在越来越多的宽带业务被移动包揽了去,他们觉得之前的验证方式不够,(鸟语w3c),又加了这么一个玩意,不知道哪位有这种active模拟器,或者cookie欺骗方式可以躲过ie验证
回复

使用道具 举报

5#
发表于 2009-2-21 23:18:14 | 只看该作者
两个卑鄙的垄断集团,鄙视他们
回复

使用道具 举报

6#
发表于 2009-2-22 00:29:33 | 只看该作者
用linux下的虚拟机通过验证?只是这么一想,没条件测试。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-17 05:46

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表