Suifeng_Net

导航

常用的javascript代碼

 

   1
   2/*
   3
   4       名字:Common.js
   5
   6       功能:通用JavaScript基本函數類庫
   7
   8       包括:
   9
  10                     1.Trim(str)--去除字符串兩邊的空格
  11
  12                     2.XMLEncode(str)--對字符串進行XML格式化
  13
  14            3.ShowLabel(str,str)--鼠標提示功能(顯示字符,提示字符)
  15
  16                     4.IsEmpty(obj)--判斷輸入框是否為空
  17
  18                     5.IsInt(objStr,sign,zero)--驗證是否為整數
  19
  20                     6.IsFloat(objStr,sign,zero)--驗證是否為浮點數
  21
  22                     7.IsEnLetter(objStr,size)--驗證是否為26個字母
  23
  24*/

  25
  26==================================================================
  27
  28字符串操作
  29
  30Trim(string):去除字符串兩邊的空格
  31
  32==================================================================
  33
  34*/
  35
  36 
  37
  38/*
  39
  40==================================================================
  41
  42LTrim(string):去除左?的空格
  43
  44==================================================================
  45
  46*/

  47
  48function LTrim(str)
  49
  50{
  51
  52    var whitespace = new String(" \t\n\r");
  53
  54    var s = new String(str);
  55
  56    
  57
  58    if (whitespace.indexOf(s.charAt(0)) != -1)
  59
  60    {
  61
  62        var j=0, i = s.length;
  63
  64        while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
  65
  66        {
  67
  68            j++;
  69
  70        }

  71
  72        s = s.substring(j, i);
  73
  74    }

  75
  76    return s;
  77
  78}

  79
  80 
  81
  82/*
  83
  84==================================================================
  85
  86RTrim(string):去除右邊的空格
  87
  88==================================================================
  89
  90*/

  91
  92function RTrim(str)
  93
  94{
  95
  96    var whitespace = new String(" \t\n\r");
  97
  98    var s = new String(str);
  99
 100 
 101
 102    if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
 103
 104    {
 105
 106        var i = s.length - 1;
 107
 108        while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
 109
 110        {
 111
 112            i--;
 113
 114        }

 115
 116        s = s.substring(0, i+1);
 117
 118    }

 119
 120    return s;
 121
 122}

 123
 124 
 125
 126/*
 127
 128==================================================================
 129
 130Trim(string):去除前后空格
 131
 132==================================================================
 133*/

 134
 135function Trim(str)
 136
 137{
 138
 139    return RTrim(LTrim(str));
 140
 141}

 142
 143/*
 144
 145================================================================================
 146
 147XMLEncode(string):對字符串進行XML編碼
 148
 149================================================================================
 150
 151*/

 152
 153function XMLEncode(str)
 154{
 155
 156       str=Trim(str);
 157
 158       str=str.replace("&","&amp;");
 159
 160       str=str.replace("<","&lt;");
 161
 162       str=str.replace(">","&gt;");
 163
 164       str=str.replace("'","&apos;");
 165
 166       str=str.replace("\"","&quot;");
 167
 168       return str;
 169
 170}

 171
 172 
 173
 174/*
 175
 176================================================================================
 177
 178驗證類函數
 179
 180================================================================================
 181
 182*/

 183function IsEmpty(obj)
 184
 185{
 186
 187    obj=document.getElementsByName(obj).item(0);
 188
 189    if(Trim(obj.value)=="")
 190
 191    {
 192
 193        alert("字段不能為空。");        
 194
 195        if(obj.disabled==false && obj.readOnly==false)
 196
 197        {
 198
 199            obj.focus();
 200
 201        }

 202
 203    }

 204
 205}

 206/*
 207
 208IsInt(string,string,int or string):(??字符串,+ or - or empty,empty or 0)
 209
 210功能:判定是否為整數,正整數,負整數,正整數+0,負整數+0
 211
 212*/

 213
 214function IsInt(objStr,sign,zero)
 215{
 216
 217    var reg;    
 218
 219    var bolzero;    
 220
 221    
 222
 223    if(Trim(objStr)=="")
 224
 225    {
 226
 227        return false;
 228
 229    }

 230
 231    else
 232
 233    {
 234
 235        objStr=objStr.toString();
 236
 237    }
    
 238
 239    
 240
 241    if((sign==null)||(Trim(sign)==""))
 242
 243    {
 244
 245        sign="+-";
 246
 247    }

 248
 249    
 250
 251    if((zero==null)||(Trim(zero)==""))
 252
 253    {
 254
 255        bolzero=false;
 256
 257    }

 258
 259    else
 260
 261    {
 262
 263        zero=zero.toString();
 264
 265        if(zero=="0")
 266
 267        {
 268
 269            bolzero=true;
 270
 271        }

 272
 273        else
 274
 275        {
 276
 277            alert("檢查是否包含0參數,只可為(空、0)");
 278
 279        }

 280
 281    }

 282
 283    
 284
 285    switch(sign)
 286
 287    {
 288
 289        case "+-":
 290
 291            //整數
 292
 293            reg=/(^-?|^\+?)\d+$/;            
 294
 295            break;
 296
 297        case "+"
 298
 299            if(!bolzero)           
 300
 301            {
 302
 303                //正整數
 304
 305                reg=/^\+?[0-9]*[1-9][0-9]*$/;
 306
 307            }

 308
 309            else
 310
 311            {
 312
 313                //正整數+0
 314
 315                //reg=/^\+?\d+$/;
 316
 317                reg=/^\+?[0-9]*[0-9][0-9]*$/;
 318
 319            }

 320
 321            break;
 322
 323        case "-":
 324
 325            if(!bolzero)
 326
 327            {
 328
 329                //負整數
 330
 331                reg=/^-[0-9]*[1-9][0-9]*$/;
 332
 333            }

 334
 335            else
 336
 337            {
 338
 339                //負整數+0
 340
 341                //reg=/^-\d+$/;
 342
 343                reg=/^-[0-9]*[0-9][0-9]*$/;
 344
 345            }
            
 346
 347            break;
 348
 349        default:
 350
 351            alert("檢查符號參數,只可為(空、+、-)");
 352
 353            return false;
 354
 355            break;
 356
 357    }

 358
 359    
 360
 361    var r=objStr.match(reg);
 362
 363    if(r==null)
 364
 365    {
 366
 367        return false;
 368
 369    }

 370
 371    else
 372
 373    {        
 374
 375        return true;     
 376
 377    }

 378
 379}

 380
 381/*
 382
 383IsFloat(string,string,int or string):(檢查字符串,+ or - or empty,empty or 0)
 384
 385功能:判定是否為浮點數、正浮點數、負浮點數、正浮點數+0、負浮點數+0
 386
 387*/

 388function IsFloat(objStr,sign,zero)
 389
 390{
 391
 392    var reg;    
 393
 394    var bolzero;    
 395
 396    
 397
 398    if(Trim(objStr)=="")
 399
 400    {
 401
 402        return false;
 403
 404    }

 405
 406    else
 407
 408    {
 409
 410        objStr=objStr.toString();
 411
 412    }
    
 413
 414    
 415
 416    if((sign==null)||(Trim(sign)==""))
 417
 418    {
 419
 420        sign="+-";
 421
 422    }

 423
 424    
 425
 426    if((zero==null)||(Trim(zero)==""))
 427
 428    {
 429
 430        bolzero=false;
 431
 432    }

 433
 434    else
 435
 436    {
 437
 438        zero=zero.toString();
 439
 440        if(zero=="0")
 441
 442        {
 443
 444            bolzero=true;
 445
 446        }

 447
 448        else
 449
 450        {
 451
 452            alert("?查是否包含0參數,只可為(空、0)");
 453
 454        }

 455
 456    }

 457
 458    
 459
 460    switch(sign)
 461
 462    {
 463
 464        case "+-":
 465
 466            //浮點數
 467
 468            reg=/^((-?|\+?)\d+)(\.\d+)?$/;
 469
 470            break;
 471
 472        case "+"
 473
 474            if(!bolzero)           
 475
 476            {
 477
 478                //正浮點數
 479
 480                reg=/^\+?(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
 481
 482            }

 483
 484            else
 485
 486            {
 487
 488                //正浮點數+0
 489
 490                reg=/^\+?\d+(\.\d+)?$/;
 491
 492            }

 493
 494            break;
 495
 496        case "-":
 497
 498            if(!bolzero)
 499
 500            {
 501
 502                //負浮點數
 503
 504                reg=/^-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
 505
 506            }

 507
 508            else
 509
 510            {
 511
 512                //負浮點數+0
 513
 514                reg=/^((-\d+(\.\d+)?)|(0+(\.0+)?))$/;
 515
 516            }
            
 517
 518            break;
 519
 520        default:
 521
 522            alert("檢查符號參數,只可為(空、+、-)");
 523
 524            return false;
 525
 526            break;
 527
 528    }

 529
 530    
 531
 532    var r=objStr.match(reg);
 533
 534    if(r==null)
 535
 536    {
 537        return false;
 538    }

 539    else
 540
 541    {        
 542        return true;     
 543    }

 544}

 545/*
 546
 547IsEnLetter(string,string):驗證字符串,大小寫(UL,U,L or ul,u,l)
 548
 549*/

 550
 551function IsEnLetter(objStr,size)
 552
 553{
 554
 555    var reg;
 556
 557    
 558
 559    if(Trim(objStr)=="")
 560
 561    {
 562
 563        return false;
 564
 565    }

 566
 567    else
 568
 569    {
 570
 571        objStr=objStr.toString();
 572
 573    }
    
 574
 575    
 576
 577    if((size==null)||(Trim(size)==""))
 578
 579    {
 580
 581        size="UL";
 582
 583    }

 584
 585    else
 586
 587    {
 588
 589        size=size.toUpperCase();
 590
 591    }

 592
 593    
 594
 595    switch(size)
 596
 597    {
 598
 599        case "UL":
 600
 601            //大小寫
 602
 603            reg=/^[A-Za-z]+$/;
 604
 605            break;
 606
 607        case "U"
 608
 609            //大寫
 610
 611            reg=/^[A-Z]+$/;
 612
 613            break;
 614
 615        case "L":
 616
 617            //小寫
 618            reg=/^[a-z]+$/;
 619
 620            break;
 621
 622        default:
 623
 624            alert("?查大小寫參數,只可為(空、UL、U、L)");
 625
 626            return false;
 627
 628            break;
 629
 630    }

 631
 632    
 633
 634    var r=objStr.match(reg);
 635
 636    if(r==null)
 637
 638    {
 639
 640        return false;
 641
 642    }

 643
 644    else
 645
 646    {        
 647
 648        return true;     
 649
 650    }

 651
 652}

 653
 654 
 655
 656 
 657
 658/*
 659
 660================================================================================
 661
 662功能:鼠標小提示
 663
 664
 665================================================================================
 666
 667*/

 668
 669 
 670
 671//定異變量、設置默認值
 672
 673var LabelFontFace="宋体,arial,Verdana";
 674
 675var LabelFontColor="#000000";
 676
 677var LabelFontSize="9pt";
 678
 679var LabelFontStyle="Font.PLAIN";
 680
 681var LabelBorderColor="#000000";
 682
 683var LabelBackColor="#FFFFE1";
 684
 685 
 686
 687//設置各個屬性
 688
 689function SetLabelFontFace(obj)
 690
 691{
 692
 693       obj=Trim(obj);
 694
 695       if(obj==null || obj=="")
 696
 697       {
 698
 699              obj="宋体,arial,Verdana";
 700
 701       }

 702
 703       LabelFontFace=obj;
 704
 705}

 706
 707 
 708
 709function SetLabelFontColor(obj)
 710
 711{
 712
 713    obj=Trim(obj);
 714
 715       if(obj==null || obj=="")
 716
 717       {
 718
 719              obj="#000000";
 720
 721       }

 722
 723       LabelFontColor=obj;
 724
 725}

 726
 727 
 728
 729function SetLabelFontSize(obj)
 730
 731{
 732
 733    obj=Trim(obj);
 734
 735       if(obj==null || obj=="")
 736
 737       {
 738
 739              obj="9pt";
 740
 741       }

 742
 743       LabelFontSize=obj;
 744
 745}

 746
 747 
 748
 749function SetLabelFontStyle(obj)
 750
 751{
 752
 753    obj=Trim(obj);
 754
 755       if(obj==null || obj=="")
 756
 757       {
 758
 759              obj="Font.PLAIN";
 760
 761       }

 762
 763       LabelFontStyle=obj;
 764
 765}

 766
 767 
 768
 769function SetLabelBorderColor(obj)
 770
 771{
 772
 773    obj=Trim(obj);
 774
 775    if(obj==null || obj=="")
 776
 777    {
 778
 779        obj="#000000";
 780
 781    }

 782
 783    LabelBorderColor=obj;
 784
 785}

 786function SetLabelBackColor(obj)
 787
 788{
 789
 790    obj=Trim(obj);
 791
 792    if(obj==null || obj=="")
 793
 794    {
 795
 796        obj="#FFFFE1";
 797
 798    }

 799
 800    LabelBackColor=obj;
 801
 802}

 803
 804//合成文字樣式
 805
 806function SetTextStyle(str)
 807
 808{
 809
 810    var strRet="";
 811
 812    
 813
 814    var strStyle="";
 815
 816    
 817
 818    strStyle="font-family:"+LabelFontFace+";";
 819
 820    strStyle+="color:"+LabelFontColor+";";
 821
 822    strStyle+="font-size:"+LabelFontSize+";";
 823
 824    switch(LabelFontStyle.toLowerCase())
 825
 826    {
 827
 828        case "font.plain":
 829
 830            strStyle+="font-weight: normal;";
 831
 832            strStyle+="font-style: normal;";
 833
 834            break;
 835
 836        case "font.bold":
 837
 838            strStyle+="font-weight: bold;";
 839
 840            strStyle+="font-style: normal;";
 841
 842            break;
 843
 844        case "font.italic":
 845
 846            strStyle+="font-weight: normal;";
 847
 848            strStyle+="font-style: italic;";
 849
 850            break;
 851
 852        case "font.italicbold":
 853
 854        case "font.bolditalic":
 855
 856            strStyle+="font-weight: bold;";
 857
 858            strStyle+="font-style: italic;";
 859
 860            break;
 861
 862        default:
 863
 864            strStyle+="font-weight: bold;";
 865
 866            strStyle+="font-style: italic;";
 867
 868            break;
 869
 870    }

 871
 872    
 873
 874    strRet="<font style='"+strStyle+"'>";
 875
 876    strRet+="&nbsp;"+str+"&nbsp;";
 877
 878    strRet+="</font>";
 879
 880    
 881
 882    return strRet;
 883
 884}

 885
 886 
 887
 888//合成表格樣式
 889
 890function SetTableStyle()
 891
 892{
 893
 894    var strRet="";
 895
 896    
 897
 898    strRet+="border-right: "+LabelBorderColor+" 1px solid;";
 899
 900    strRet+="border-top: "+LabelBorderColor+" 1px solid;";
 901
 902    strRet+="border-left: "+LabelBorderColor+" 1px solid;";
 903
 904    strRet+="border-bottom: "+LabelBorderColor+" 1px solid;";
 905
 906    strRet+="background-color:"+LabelBackColor;    
 907
 908    
 909
 910    return strRet;
 911
 912}

 913
 914 
 915
 916//顯示提示
 917
 918function ShowNote(str)
 919
 920{
 921
 922       var strHtml;
 923
 924       
 925
 926       strHtml="";
 927
 928       strHtml+="<table height=1px width=1px border='0'cellspacing='0' cellpadding='0' style='" + SetTableStyle() + "'>";
 929
 930       strHtml+="<tr>";
 931
 932       strHtml+="<td>"+SetTextStyle(str)+"</td>";
 933
 934       strHtml+="</tr>";
 935
 936       strHtml+="</table>";                           
 937
 938       
 939
 940       if (document.all&&document.readyState=="complete")
 941
 942       {                                        
 943
 944              document.all.div_Note.innerHTML=strHtml;
 945
 946              document.all.div_Note.style.pixelLeft=event.clientX+document.body.scrollLeft+10
 947
 948              document.all.div_Note.style.pixelTop=event.clientY+document.body.scrollTop+10
 949
 950              document.all.div_Note.style.visibility="visible"
 951
 952       }
     
 953
 954}

 955
 956 
 957
 958//隱藏提示
 959
 960function HideNote()
 961
 962{
 963
 964       if (document.all)
 965
 966       {
 967
 968              document.all.div_Note.style.visibility="hidden";
 969
 970       }

 971
 972       else
 973
 974       {
 975
 976              if (document.layers)
 977
 978              {
 979
 980                     clearInterval(currentscroll)
 981
 982                     document.div_Note.visibility="hidden";
 983
 984              }

 985
 986       }
                                 
 987
 988}

 989
 990 
 991
 992//初始化
 993
 994function Init()
 995
 996{
 997
 998    window.document.write("<div id=\"div_Note\" style=\"VISIBILITY:hidden; POSITION:absolute; HEIGHT:13px;z-index:1\"></div>");
 999
1000}

1001
1002Init();
1003
1004 
1005
1006//生成提示字符
1007
1008function ShowLabel(text,note,bclick)
1009
1010{
1011
1012       if(bclick!=null)
1013
1014       {
1015
1016              return "<a href=\"#\" onMouseOver=\"ShowNote('" + note + "')\" onMouseOut=\"HideNote()\" onClick=\"JavaScript:DoSomeThing(this);\">" + text + "</a>";
1017
1018       }

1019
1020       else
1021
1022       {
1023
1024           return "<a href=\"#\" onMouseOver=\"ShowNote('" + note + "')\" onMouseOut=\"HideNote()\">" + text + "</a>";
1025
1026       }

1027}

1028////////////////////////////////////////////////////////////////////////////////////
1029//只能輸入中文 function onlychinese() 
1030///例子:onkeypress="onlychinese() "
1031/////////////////////////////////////////////////////////////////////////////////////

1032function onlychinese() 
1033{
1034if ((window.event.keyCode >=32&& (window.event.keyCode <= 126)) 
1035{
1036window.event.keyCode = 0 ;
1037}

1038}
 
1039
1040///////////////////////////////////////////////////////////////////////////////
1041///只能輸入數字 JHshNumberText()
1042///onKeypress="JHshNumberText()"
1043//////////////////////////////////////////////////////////////////////////////

1044function JHshNumberText()
1045{
1046if ( !(((window.event.keyCode >= 48&& (window.event.keyCode <= 57)) 
1047|| (window.event.keyCode == 13|| (window.event.keyCode == 46
1048|| (window.event.keyCode == 45)))
1049{
1050window.event.keyCode = 0 ;
1051}

1052}
 
1053
1054
1055

posted on 2007-02-09 10:35  隨風  阅读(459)  评论(0编辑  收藏  举报