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
30
Trim(string):去除字符串兩邊的空格
31
32
==================================================================
33
34
*/
35
36
37
38
/**//*
39
40
==================================================================
41
42
LTrim(string):去除左?的空格
43
44
==================================================================
45
46
*/
47
48
function 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
86
RTrim(string):去除右邊的空格
87
88
==================================================================
89
90
*/
91
92
function 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
130
Trim(string):去除前后空格
131
132
==================================================================
133
*/
134
135
function Trim(str)
136
137

{
138
139
return RTrim(LTrim(str));
140
141
}
142
143
/**//*
144
145
================================================================================
146
147
XMLEncode(string):對字符串進行XML編碼
148
149
================================================================================
150
151
*/
152
153
function XMLEncode(str)
154

{
155
156
str=Trim(str);
157
158
str=str.replace("&","&");
159
160
str=str.replace("<","<");
161
162
str=str.replace(">",">");
163
164
str=str.replace("'","'");
165
166
str=str.replace("\"",""");
167
168
return str;
169
170
}
171
172
173
174
/**//*
175
176
================================================================================
177
178
驗證類函數
179
180
================================================================================
181
182
*/
183
function 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
208
IsInt(string,string,int or string):(??字符串,+ or - or empty,empty or 0)
209
210
功能:判定是否為整數,正整數,負整數,正整數+0,負整數+0
211
212
*/
213
214
function 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
383
IsFloat(string,string,int or string):(檢查字符串,+ or - or empty,empty or 0)
384
385
功能:判定是否為浮點數、正浮點數、負浮點數、正浮點數+0、負浮點數+0
386
387
*/
388
function 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
547
IsEnLetter(string,string):驗證字符串,大小寫(UL,U,L or ul,u,l)
548
549
*/
550
551
function 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
673
var LabelFontFace="宋体,arial,Verdana";
674
675
var LabelFontColor="#000000";
676
677
var LabelFontSize="9pt";
678
679
var LabelFontStyle="Font.PLAIN";
680
681
var LabelBorderColor="#000000";
682
683
var LabelBackColor="#FFFFE1";
684
685
686
687
//設置各個屬性
688
689
function 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
709
function 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
729
function 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
749
function 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
769
function 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
}
786
function 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
806
function 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+=" "+str+" ";
877
878
strRet+="</font>";
879
880
881
882
return strRet;
883
884
}
885
886
887
888
//合成表格樣式
889
890
function 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
918
function 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
960
function 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
994
function 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
1002
Init();
1003
1004
1005
1006
//生成提示字符
1007
1008
function 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
/////////////////////////////////////////////////////////////////////////////////////
1032
function onlychinese()
1033

{
1034
if ((window.event.keyCode >=32) && (window.event.keyCode <= 126))
1035

{
1036
window.event.keyCode = 0 ;
1037
}
1038
}
1039
1040
/**////////////////////////////////////////////////////////////////////////////////
1041
///只能輸入數字 JHshNumberText()
1042
///onKeypress="JHshNumberText()"
1043
//////////////////////////////////////////////////////////////////////////////
1044
function JHshNumberText()
1045

{
1046
if ( !(((window.event.keyCode >= 48) && (window.event.keyCode <= 57))
1047
|| (window.event.keyCode == 13) || (window.event.keyCode == 46)
1048
|| (window.event.keyCode == 45)))
1049

{
1050
window.event.keyCode = 0 ;
1051
}
1052
}
1053
1054
1055

2


3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38


39

40

41

42

43

44

45

46

47

48

49

50



51

52

53

54

55

56

57

58

59

60



61

62

63

64

65

66



67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82


83

84

85

86

87

88

89

90

91

92

93

94



95

96

97

98

99

100

101

102

103

104



105

106

107

108

109

110



111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126


127

128

129

130

131

132

133

134

135

136

137



138

139

140

141

142

143


144

145

146

147

148

149

150

151

152

153

154



155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174


175

176

177

178

179

180

181

182

183

184

185



186

187

188

189

190

191



192

193

194

195

196

197



198

199

200

201

202

203

204

205

206


207

208

209

210

211

212

213

214

215



216

217

218

219

220

221

222

223

224

225



226

227

228

229

230

231

232

233



234

235

236

237

238

239

240

241

242

243



244

245

246

247

248

249

250

251

252

253



254

255

256

257

258

259

260

261



262

263

264

265

266

267



268

269

270

271

272

273

274

275



276

277

278

279

280

281

282

283

284

285

286

287



288

289

290

291

292

293

294

295

296

297

298

299

300

301



302

303

304

305

306

307

308

309

310

311



312

313

314

315

316

317

318

319

320

321

322

323

324

325

326

327



328

329

330

331

332

333

334

335

336

337



338

339

340

341

342

343

344

345

346

347

348

349

350

351

352

353

354

355

356

357

358

359

360

361

362

363

364

365



366

367

368

369

370

371

372

373



374

375

376

377

378

379

380

381


382

383

384

385

386

387

388

389

390



391

392

393

394

395

396

397

398

399

400



401

402

403

404

405

406

407

408



409

410

411

412

413

414

415

416

417

418



419

420

421

422

423

424

425

426

427

428



429

430

431

432

433

434

435

436



437

438

439

440

441

442



443

444

445

446

447

448

449

450



451

452

453

454

455

456

457

458

459

460

461

462



463

464

465

466

467

468

469

470

471

472

473

474

475

476



477

478

479

480

481

482

483

484

485

486



487

488

489

490

491

492

493

494

495

496

497

498

499

500



501

502

503

504

505

506

507

508

509

510



511

512

513

514

515

516

517

518

519

520

521

522

523

524

525

526

527

528

529

530

531

532

533

534

535

536



537

538

539

540

541



542

543

544

545


546

547

548

549

550

551

552

553



554

555

556

557

558

559

560

561



562

563

564

565

566

567

568

569



570

571

572

573

574

575

576

577

578

579



580

581

582

583

584

585

586

587



588

589

590

591

592

593

594

595

596

597



598

599

600

601

602

603

604

605

606

607

608

609

610

611

612

613

614

615

616

617

618

619

620

621

622

623

624

625

626

627

628

629

630

631

632

633

634

635

636

637

638



639

640

641

642

643

644

645

646



647

648

649

650

651

652

653

654

655

656

657

658


659

660

661

662

663

664

665

666

667

668

669

670

671

672

673

674

675

676

677

678

679

680

681

682

683

684

685

686

687

688

689

690

691



692

693

694

695

696

697



698

699

700

701

702

703

704

705

706

707

708

709

710

711



712

713

714

715

716

717



718

719

720

721

722

723

724

725

726

727

728

729

730

731



732

733

734

735

736

737



738

739

740

741

742

743

744

745

746

747

748

749

750

751



752

753

754

755

756

757



758

759

760

761

762

763

764

765

766

767

768

769

770

771



772

773

774

775

776

777



778

779

780

781

782

783

784

785

786

787

788



789

790

791

792

793

794



795

796

797

798

799

800

801

802

803

804

805

806

807

808



809

810

811

812

813

814

815

816

817

818

819

820

821

822

823

824

825

826



827

828

829

830

831

832

833

834

835

836

837

838

839

840

841

842

843

844

845

846

847

848

849

850

851

852

853

854

855

856

857

858

859

860

861

862

863

864

865

866

867

868

869

870

871

872

873

874

875

876

877

878

879

880

881

882

883

884

885

886

887

888

889

890

891

892



893

894

895

896

897

898

899

900

901

902

903

904

905

906

907

908

909

910

911

912

913

914

915

916

917

918

919

920



921

922

923

924

925

926

927

928

929

930

931

932

933

934

935

936

937

938

939

940

941

942



943

944

945

946

947

948

949

950

951

952

953

954

955

956

957

958

959

960

961

962



963

964

965

966



967

968

969

970

971

972

973

974



975

976

977

978



979

980

981

982

983

984

985

986

987

988

989

990

991

992

993

994

995

996



997

998

999

1000

1001

1002

1003

1004

1005

1006

1007

1008

1009

1010



1011

1012

1013

1014



1015

1016

1017

1018

1019

1020

1021

1022



1023

1024

1025

1026

1027

1028


1029

1030


1031

1032

1033



1034

1035



1036

1037

1038

1039

1040


1041

1042

1043

1044

1045



1046

1047

1048

1049



1050

1051

1052

1053

1054

1055
