myvietnam.js
上传用户:zghglow
上传日期:2022-08-09
资源大小:27227k
文件大小:9k
源码类别:

WEB源码(ASP,PHP,...)

开发平台:

JavaScript

  1. /*
  2.  * $Header: /cvsroot/mvnforum/mvnforum/srcweb/mvnplugin/mvnforum/js/myvietnam.js,v 1.13 2006/04/15 04:49:05 minhnn Exp $
  3.  * $Author: minhnn $
  4.  * $Revision: 1.13 $
  5.  * $Date: 2006/04/15 04:49:05 $
  6.  *
  7.  * ====================================================================
  8.  *
  9.  * Copyright (C) 2002-2006 by MyVietnam.net
  10.  *
  11.  * All copyright notices regarding mvnForum MUST remain 
  12.  * intact in the scripts and in the outputted HTML.
  13.  * The "powered by" text/logo with a link back to
  14.  * http://www.mvnForum.com and http://www.MyVietnam.net in 
  15.  * the footer of the pages MUST remain visible when the pages
  16.  * are viewed on the internet or intranet.
  17.  *
  18.  * This program is free software; you can redistribute it and/or modify
  19.  * it under the terms of the GNU General Public License as published by
  20.  * the Free Software Foundation; either version 2 of the License, or
  21.  * any later version.
  22.  *
  23.  * This program is distributed in the hope that it will be useful,
  24.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  25.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  26.  * GNU General Public License for more details.
  27.  *
  28.  * You should have received a copy of the GNU General Public License
  29.  * along with this program; if not, write to the Free Software
  30.  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  31.  *
  32.  * Support can be obtained from support forums at:
  33.  * http://www.mvnForum.com/mvnforum/index
  34.  *
  35.  * Correspondence and Marketing Questions can be sent to:
  36.  * info at MyVietnam net
  37.  *
  38.  * @author: Minh Nguyen  
  39.  * @author: Mai  Nguyen  
  40.  */
  41. function getKeyCode(evt) {
  42.   if (typeof(evt)=='string') return evt.charCodeAt(0);
  43.   return document.all? event.keyCode: (evt && evt.which)? evt.which: 0;
  44. }
  45. function gotoPage(s) {
  46.     if (s != '') location.href = s;
  47.     return 1;
  48. }
  49. function trimLeft(s) {
  50.     var whitespaces = " tnr";
  51.     for(n = 0; n < s.length; n++) { if (whitespaces.indexOf(s.charAt(n)) == -1) return (n > 0) ? s.substring(n, s.length) : s; }
  52.     return("");
  53. }
  54. function trimRight(s){
  55.     var whitespaces = " tnr";
  56.     for(n = s.length - 1; n  > -1; n--) { if (whitespaces.indexOf(s.charAt(n)) == -1) return (n < (s.length - 1)) ? s.substring(0, n+1) : s; }
  57.     return("");
  58. }
  59. function trim(s) {return ((s == null) ? "" : trimRight(trimLeft(s))); }
  60. function isSelected(field, strBodyHeader) {
  61.     for(i=0; i < field.length; i++) { 
  62.         if (field[i].selected && (trim(field[i].value).length > 0)) {
  63.             return true;
  64.         }
  65.     }
  66.     alert(""" + strBodyHeader + "" is a required field. Please choose a selection.");
  67.     field.focus();
  68.     return false;
  69. }
  70. // the num should be character or string with length=1
  71. function isDigit(num) {
  72.     if (num.length > 1) {
  73.         return false;
  74.     }
  75.     var string = "1234567890";
  76.     if (string.indexOf(num) != -1) {
  77.         return true;
  78.     }
  79.     return false;
  80. }
  81. var emailPat=/^(.+)@(.+)$/;
  82. var specialChars="\(\)><@,;:\\\"\.\[\]";
  83. var validChars="[^" + specialChars + "]";
  84. var quotedString="("[^"]*")";
  85. var ipDomainPat=/^(d{1,3}).(d{1,3}).(d{1,3}).(d{1,3})$/;
  86. var atom=validChars + '+';
  87. var word="(" + atom + "|" + quotedString + ")";
  88. var atomPat=new RegExp("^" + atom + "$");
  89. var localPat=new RegExp("^" + word + "(\." + word + ")*$");
  90. var domainPat=new RegExp("^" + atom + "(\." + atom +")*$");
  91. var complexPat=/^(.+)<(.+)>$/;
  92. var commentPat=/(.*)((.*))(.*)$/;
  93. function simpleEmailCheck (emailStr) {
  94.     if(emailStr == "") return false;
  95.     var matchArray=emailStr.match(emailPat);
  96.     if (matchArray==null) return false;
  97.     var user=matchArray[1];
  98.     var domain=matchArray[2];
  99.     for (i=0; i<user.length; i++) {
  100.         if (user.charCodeAt(i)>127) return false;
  101.     }
  102.     for (i=0; i<domain.length; i++) {
  103.         if (domain.charCodeAt(i)>127) return false;
  104.     }
  105.     if( !checkUser(user)) return false;
  106.     var IPArray=domain.match(ipDomainPat);
  107.     if (IPArray!=null) {
  108.         for (var i=1;i<=4;i++) {
  109.             if (IPArray[i]>255) return false;
  110.         }
  111.         return true;
  112.     }
  113.     var domArr=domain.split(".");
  114.     var len=domArr.length;
  115.     for (i=0;i<len;i++) {
  116.         if( !checkDomain(domArr[i]) ) return false;
  117.     }
  118.     return true;
  119. }
  120. function checkDomain(domain) {
  121.     var validDomain = true;
  122.     var domainArray = domain.match(commentPat);
  123.     if( domainArray == null ) {
  124.         if( domain.match(atomPat)==-1) validDomain = false;
  125.     } else {
  126.         for(var i=1; i<domainArray.length; i++) {
  127.             if( domainArray[i] != "" && !checkDomain(domainArray[i]) ) validDomain = false;
  128.         }
  129.     }
  130.     return validDomain;
  131. }
  132. function checkUser(user){
  133.     var validUser = true;
  134.     var userArray = user.match(commentPat);
  135.     if( userArray == null ){
  136.         if (user.match(localPat)==null)  validUser = false;
  137.     }
  138.     else {
  139.         for(var i=1; i<userArray.length; i++) {
  140.             if( userArray[i] != "" && !checkUser(userArray[i]) ) validUser = false;
  141.         }
  142.     }
  143.     return validUser;
  144. }
  145. function complexEmailCheck(emailStr){
  146.     if(emailStr == "") return false;
  147.     if(emailStr.indexOf("@")==-1) return false;
  148.     var matchArray=emailStr.match(complexPat);
  149.     if (matchArray==null) {
  150.         if( simpleEmailCheck(emailStr) ) return true;
  151.         else return false;
  152.     }
  153.     var phrase=matchArray[1];
  154.     var routeAddr=matchArray[2];
  155.     if( !simpleEmailCheck(routeAddr) ) return false;
  156.     else return true;
  157. }
  158. function writeEmail(name, domain, subject, body, linkname, classstyle) {
  159.     if (subject == "") subject = null;
  160.     if (body == "") body = null;
  161.     if (linkname == "") linkname = null;
  162.     if (classstyle == "") classstyle = "";
  163.     if (subject == null && body == null) {
  164.       document.write("<a href="mailto:" + name + "@" + domain + "" class="" + classstyle + "">");
  165.     } else if (subject != null && body == null) {
  166.       document.write("<a href="mailto:" + name + "@" + domain + "?subject=" + subject + "" class="" + classstyle + "">");
  167.     } else if (subject == null && body != null) {
  168.       document.write("<a href="mailto:" + name + "@" + domain + "?body=" + body + "" class="" + classstyle + "">");
  169.     } else {
  170.       document.write("<a href="mailto:" + name + "@" + domain + "?subject=" + subject + "&body=" + body + "" class="" + classstyle + "">");
  171.     }
  172.     if (linkname == null) {
  173.       document.write(name + "@" + domain);
  174.     } else {
  175.       document.write(linkname);
  176.     }
  177.     document.write("</a>")
  178. }
  179. function writeDomain(emailstring) {
  180.     var index;
  181.     var result;
  182.     if (!simpleEmailCheck(emailstring)) return emailstring;
  183.     index = emailstring.indexOf("@");
  184.     result= emailstring.substring(index+1, emailstring.length);
  185.     return result;
  186.     //alert(result);
  187. }
  188. function writeEmailTitle(emailstring) {
  189.     if (!simpleEmailCheck(emailstring)) return emailstring;
  190.     var index;
  191.     var result;
  192.     index = emailstring.indexOf("@");
  193.     result= emailstring.substring(0, index);
  194.     //alert(result);
  195.     return result;
  196. }
  197. ///////////////////////////////////////////////////////
  198. function popUp(URL)
  199. {
  200.   day = new Date();
  201.   id = day.getTime();
  202.   eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=280,height=415');");
  203. }
  204. function popUpPost(URL)
  205. {
  206.   day = new Date();
  207.   id = day.getTime();
  208.   eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=280,height=415');");
  209. }
  210.   
  211. function openWin(dir,name,w,h)
  212. {
  213.   var left = (screen.availWidth/2) - (w/2);
  214.   var top = (screen.availHeight/2) - (h/2);
  215.   colorWin = window.open(dir, name, 'scrollbars=1, toolbar=0, statusbar=0, width='+w+', height='+h+', left='+left+', top='+top);
  216.   colorWin.focus()
  217. }  
  218. function dodel(gb,gburl){
  219.   if(confirm(gb)){
  220.     window.location = gburl
  221.   }
  222. }
  223. var ie45,ns6,ns4,dom;
  224. if (navigator.appName=="Microsoft Internet Explorer") {
  225.   ie45=parseInt(navigator.appVersion)>=4;
  226. } else if (navigator.appName=="Netscape") {
  227.   ns6=parseInt(navigator.appVersion)>=5;
  228.   ns4=parseInt(navigator.appVersion)<5;
  229. }
  230. dom=ie45 || ns6;
  231. function showhide(id) {
  232.   el = document.all ? document.all[id] : 
  233.     dom ? document.getElementById(id) : 
  234.     document.layers[id];
  235.   els = dom ? el.style : el;
  236.   if (dom){
  237.     if (els.display == "none")
  238.       els.display = "";
  239.     else els.display = "none";
  240.   } else if (ns4){
  241.     if (els.display == "show")
  242.       els.display = "hide";
  243.     else els.display = "show";
  244.   }
  245. }