1//檢查空串
  2function isEmpty(str){
  3 if((str == null)||(str.length == 0)) return (true);
  4 else return(false);
  5}
  6
  7//檢查是否未數字
  8function isDigit(theNum){   
  9var theMask = "0123456789";
 10if (isEmpty(theNum)) return(false);
 11else if(theMask.indexOf(theNum) == -1) return(false);
 12return(true);
 13}
 14
 15//去掉左空格
 16function trimLeft(str){
 17if(str.charAt(0) == " "){
 18str = str.slice(1);
 19str = trimLeft(str);
 20}
 21 return str;
 22}
 23
 24//去掉右空格
 25function trimRight(str){
 26if(str.charAt( str.length - 1 ) == " "){
 27str = str.slice(0,str.length - 1);
 28str = trimRight(str);
 29}
 30 return str;
 31}
 32
 33//去掉左右空格
 34function trim(str){
 35return trimLeft(trimRight(str));
 36}
 37
 38//檢查是否是int
 39function isInt(str){     
 40if(str==""){
 41return (false);
 42}
 43else{
 44for(i=0;i<str.length;i++){
 45var chr = str.charAt(i);
 46if(!(chr>='0' && chr<='9')){
 47return (false);
 48}
 49}
 50}
 51return (true);
 52}
 53
 54//檢查str是小數,它的整數部分不多于i位,小數部分不多于j位
 55function isDecimalNoMsg(str,i,j){           
 56var dot = str.indexOf(".");
 57var dot_last = str.lastIndexOf(".");
 58var str_f = "";
 59var str_b = "";
 60if ( dot != -1 ){
 61str_f = str.substring(0,dot);
 62} else {
 63str_f = str;
 64}
 65
 66if ( dot_last != -1 ){
 67str_b = str.substring(dot+1);
 68} else {
 69str_b = str;
 70}
 71
 72if( isInt( str_f ) == false ){
 73//alert(strMsg);
 74return false;
 75} else if ( isInt( str_b ) == false ){
 76//alert(strMsg);
 77return false;
 78} else if ( dot != dot_last ){
 79//alert(strMsg);
 80return false;
 81} else if(dot==0 || dot_last==0){
 82//alert(strMsg);
 83return false;
 84}
 85
 86if(str_f.length>i){
 87//alert(strMsg);
 88return false;
 89}
 90if(dot!=-1 && str_b.length>j){
 91//alert(strMsg);
 92return false;
 93}
 94return true;
 95}
 96
 97//檢查日期格式Format: 99999999)
 98function judgeDateFormat(dateStr){
 99   var re,r;             
100   re = /\d{8}/; 
101   r = dateStr.match(re);           
102  return(r);                     
103}
104
105//檢查時間格式(Format: 999999)
106function judgeTimeFormat(timeStr){
107   var re,r;             
108   re = /\d{6}/; 
109   r = timeStr.match(re);           
110  return(r); 
111}
112   
113//檢查日期是否合法(Format: YYYYMMDD).
114function validateDate(theStr){    
115 if(theStr.length!=8){
116 return (false);
117 } else {
118  if(theStr=="99999999")
119 return (true);
120  var y = theStr.substring(0,4);
121  var m = theStr.substring(4,6);
122  var d = theStr.substring(6,8);
123  var maxDays = 31;
124  if(isInt(m)==false||isInt(d)==false||isInt(y)==false){
125   return(false);
126  }
127  else if (y.length < 4){ return(false);}
128  else if (!isBetween(m,1,12)){ return(false);}
129  if(m.length!=2){ return(false);}
130  else if (m==4||m==6||m==9||m==11)maxDays = 30;
131  else if (m==2){
132   if(y%4>0)maxDays = 28;
133   else if(y%100==0&&y%400>0)maxDays = 28;
134   else maxDays = 29;
135  }
136  if(isBetween(d,1,maxDays)==false){ return(false);}
137  if(d.length!=2){ return(false);}
138  return(true);
139
140 }
141}
142
143//檢查時間是否合法(Format: HHMMSS).
144function validateTime(theStr){    
145 if(theStr.length!=6){
146 return (false);
147 } else {
148 if(theStr == "240000"){
149 return (true);
150 }
151  var h = theStr.substring(0,2);
152  var m = theStr.substring(2,4);
153  var s = theStr.substring(4,6);
154  if(isInt(h)==false||isInt(m)==false||isInt(s)==false){
155   return(false);
156  }
157  else if (h.length < 2){ return(false);}
158  else if (!isBetween(h,0,23)){ return(false);}
159  else if (!isBetween(m,0,59)){ return(false);}
160  else if (!isBetween(s,0,59)){ return(false);}
161  return true;
162  }
163}
164//檢查str包含漢字時最大長度不大于maxLen
165function ChineseLenLimit( str, maxLen){
166     var Strs = str;
167     var strlength=0;
168     var i;
169     for ( i=0;i<str.length;i++) {
170        if(str.charCodeAt(i)>=1000)
171                strlength += 2;
172        else
173                strlength += 1;
174     }
175     if ( strlength > maxLen ){
176     return false;
177     }
178     return true;
179
180}
181
182//檢查val在lo與hi之間
183function isBetween(val,lo,hi){ 
184 if ((val < lo) || (val > hi)){ return(false);}
185 else { return(true);}
186}
187
188// 檢查charC是‘0’~‘9’
189function chkChar(charC) {
190if (charC == null || charC.length == 0) {
191return false;
192}
193if (charC == '0')return true;
194if (charC == '1')return true;
195if (charC == '2')return true;
196if (charC == '3')return true;
197if (charC == '4')return true;
198if (charC == '5')return true;
199if (charC == '6')return true;
200if (charC == '7')return true;
201if (charC == '8')return true;
202if (charC == '9')return true;
203return false;
204}
205
206// 檢查intI是正整數
207function chkInt(intI) {
208if (intI == null || intI.length == 0) {
209return false;
210}
211for(var i=0;i<intI.length;i++) {
212if (!chkChar(intI.charAt(i))) {
213return false;
214}
215}
216if (intI.charAt(0) == '0') {
217return false;
218}
219return true;
220}
221// 檢查numN是數字
222function chkNumber(numN) {
223if (numN == null || numN.length == 0) {
224return false;
225}
226for(var i=0;i<numN.length;i++) {
227if (!chkChar(numN.charAt(i))) {
228return false;
229}
230}
231if (numN.length > 1 && numN.charAt(0) == '0') {
232return false;
233}
234return true;
235}
236// 檢查錢數小數點后最多2位
237function chkAmount(amtA) {
238if (amtA == null || amtA.length == 0) {
239return false;
240}
241var amtArray = new Array();
242amtArray = amtA.split(".");
243if (amtArray.length > 2) {
244return false;
245}
246if (amtArray.length == 1) {
247if (!chkNumber(amtArray[0])) {
248return false;
249}
250return true;
251}
252if (!chkNumber(amtArray[0])) {
253return false;
254}
255if (amtArray[1].length > 2) {
256return false;
257}
258for(var i=0;i<amtArray[1].length;i++) {
259if (!chkChar(amtArray[1].charAt(i))) {
260return false;
261}
262}
263return true;
264}
265//檢查身份證
266function checkAgentId(agentId){
267      if (agentId.length==10){
268        if (((agentId.charAt(0)=="A") && (agentId.charAt(1)=="A"))||((agentId.charAt(0)=="A") && (agentId.charAt(1)=="Z"))){
269           return true;
270}else{
271            checknum1=((agentId.charAt(0)>="A") && (agentId.charAt(0)<="Z")); 
272            checknum2=((agentId.charAt(1)==1) || (agentId.charAt(1)==2));
273            if (checknum2 && checknum1){
274               id1 = agentId.charAt(0);
275               if (id1 == 'A') {id0=1;}
276               else if (id1 == 'B') { id0=10 ;}
277               else if (id1 == 'C') { id0=19 ;}
278               else if (id1 == 'D') { id0=28 ;}
279               else if (id1 == 'E') { id0=37 ;}
280               else if (id1 == 'F') { id0=46 ;}
281               else if (id1 == 'G') { id0=55 ;}
282               else if (id1 == 'H') { id0=64 ;}
283               else if (id1 == 'I') { id0=39 ;}
284               else if (id1 == 'J') { id0=73 ;}
285               else if (id1 == 'K') { id0=82 ;}
286               else if (id1 == 'L') { id0=2  ;}
287               else if (id1 == 'M') { id0=11 ;}
288               else if (id1 == 'N') { id0=20 ;}
289               else if (id1 == 'O') { id0=48 ;}
290               else if (id1 == 'P') { id0=29 ;}
291               else if (id1 == 'Q') { id0=38 ;} 
292               else if (id1 == 'R') { id0=47 ;}
293               else if (id1 == 'S') { id0=56 ;}
294               else if (id1 == 'T') { id0=65 ;}
295               else if (id1 == 'U') { id0=74 ;}
296               else if (id1 == 'V') { id0=83 ;}
297               else if (id1 == 'W') { id0=21 ;}
298               else if (id1 == 'X') { id0=3  ;}
299               else if (id1 == 'Y') { id0=12 ;}
300               else if (id1 == 'Z') { id0=30 ;}
301               id2 = id0 + agentId.charAt(1)*8 + agentId.charAt(2)*7 + agentId.charAt(3)*6 + agentId.charAt(4)*5 + agentId.charAt(5)*4 + agentId.charAt(6)*3 + agentId.charAt(7)*2 + agentId.charAt(8)*1 + agentId.charAt(9)*1;
302               if (id2 % 10 == 0){
303                  return true;
304   }
305            }
306         }
307   }
308   return false;
309}
310
311//轉換從UTF-8 到Big5 或 GB2312
312function Unicode2Str(str){
313var re=/&#[\da-fA-F]{1,5};/ig;
314var arr=str.match(re);
315if(arr==null)return("");
316var size=arr.length;
317var arr2=new Array(size);
318for(var i=0;i<arr.length;i++){
319arr2[i]=String.fromCharCode(arr[i].replace(/[&#;]/g,""));
320}
321for(var i=0;i<arr.length;i++){
322str=str.replace(arr[i],arr2[i]);
323}
324//return(arr.toString().replace(/,/g,""))
325return str;
326}
327
328//獲得當前客戶端時間 (Format: YYYYMMDD).
329function getCurrentDate(){
330var dateObj= new Date();
331var dateString=dateObj.getFullYear();
332if(dateObj.getMonth()<10){
333dateString=dateString+'0'+dateObj.getMonth();
334}else{
335dateString+=dateObj.getMonth();
336}
337if(dateObj.getDate()<10){
338dateString+='0'+dateObj.getDate();
339}else{
340dateString+=dateObj.getDate();
341}
342return dateString;
343}   
344
345//居中顯示彈出窗口
346function PopWindowOnCenter(url,title,iwidth,iheight){
347var ileft,itop;
348ileft = (window.screen.width-iwidth)/2;
349itop = (window.screen.height-iheight)/2;
350
351window.open(url,title,'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width='+iwidth+',height='+iheight+',left='+ileft+',top='+itop);
352}
353
354//移動選中的成員從objFromId的select到objToId的select
355function moveTo(objFromId,objToId){
356var objFrom = document.getElementById(objFromId);
357var objTo = document.getElementById(objToId);
358
359var len = objFrom.length;
360for(var i=len-1; i>=0; i--){
361if(objFrom.options[i].selected){
362var j = 0;
363for(j = 0; j < objTo.length; j++){
364if(objFrom.options[i].value == objTo.options[j].value){
365break;
366}
367}
368if(j == objTo.length){//the selected item is not in objTo.
369objFrom.options[i].selected = false;
370var option1 = objFrom.options[i];
371objTo.options.add(new Option(option1.text, option1.value));
372objFrom.options.remove(i);
373}
374objFrom = document.getElementById(objFromId);
375len = objFrom.length;
376}
377}
378}
379
380//移動全部成員從objFromId的select到objToId的select
381function moveAllTo(objFromId,objToId){
382var objFrom = document.getElementById(objFromId);
383var objTo = document.getElementById(objToId);
384
385var len = objFrom.length;
386for(var i=len-1; i>=0; i--){
387var j = 0;
388for(j = 0; j < objTo.length; j++){
389if(objFrom.options[i].value == objTo.options[j].value){
390break;
391}
392}
393if(j == objTo.length){//the selected item is not in objTo.
394var option1 = objFrom.options[i];
395objTo.options.add(new Option(option1.text, option1.value));
396objFrom.options.remove(i);
397}
398objFrom = document.getElementById(objFromId);
399len = objFrom.length;
400}
401}
402
403
404//屏蔽非數字鍵
405function checkKey(){
406if(event.keyCode<48 || (event.keyCode>57 && event.keyCode<96)
407|| event.keyCode>105){
408if(event.keyCode != 8){
409event.returnValue=false;
410}
411}
412}
413
414//用與樹狀列表的顯示
415function showMenu(id,ulId){
416var obj = document.getElementById(id);
417
418if(obj.className == ""){
419obj.className = "selected";
420document.getElementById(ulId).style.display = "block";
421}
422else{
423obj.className = "";
424document.getElementById(ulId).style.display = "none";
425}
426}
427
428//檢查str中是否包含漢字
429function CheckChinese( str){
430     var Strs = str;
431     var i;
432     for ( i=0;i<str.length;i++) {
433        if(str.charCodeAt(i)>=1000){
434                return true;
435        }
436     }
437     return false;
438}
439
440//校验是否全由数字组成 
441
442程序代码 
443function isDigit(s) 
444
445var patrn=/^[0-9]{1,20}$/; 
446if (!patrn.exec(s)) return false 
447return true 
448
449
450//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串 
451
452程序代码 
453function isRegisterUserName(s) 
454
455var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/; 
456if (!patrn.exec(s)) return false 
457return true 
458
459
460//校验用户姓名:只能输入1-30个以字母开头的字串 
461
462程序代码 
463function isTrueName(s) 
464
465var patrn=/^[a-zA-Z]{1,30}$/; 
466if (!patrn.exec(s)) return false 
467return true 
468
469
470//校验密码:只能输入6-20个字母、数字、下划线 
471
472程序代码 
473function isPasswd(s) 
474
475var patrn=/^(w){6,20}$/; 
476if (!patrn.exec(s)) return false 
477return true 
478
479
480//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-” 
481
482程序代码 
483function isTel(s) 
484
485//var patrn=/^[+]{0,1}(d){1,3}[ ]?([-]?(d){1,12})+$/; 
486var patrn=/^[+]{0,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12})+$/; 
487if (!patrn.exec(s)) return false 
488return true 
489
490
491//校验手机号码:必须以数字开头,除数字外,可含有“-” 
492
493程序代码 
494function isMobil(s) 
495
496var patrn=/^[+]{0,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12})+$/; 
497if (!patrn.exec(s)) return false 
498return true 
499
500
501//校验邮政编码 
502
503程序代码 
504function isPostalCode(s) 
505
506//var patrn=/^[a-zA-Z0-9]{3,12}$/; 
507var patrn=/^[a-zA-Z0-9 ]{3,12}$/; 
508if (!patrn.exec(s)) return false 
509return true 
510
511
512//校验搜索关键字 
513
514程序代码 
515function isSearch(s) 
516
517var patrn=/^[^`~!@#$%^&*()+=|][]{}:;',.<>/?]{1}[^`~!@$%^&()+=|][]{}:;',.<>?]{0,19}$/; 
518if (!patrn.exec(s)) return false 
519return true 
520
521
522程序代码 
523function isIP(s) //by zergling 
524
525var patrn=/^[0-9.]{1,20}$/; 
526if (!patrn.exec(s)) return false 
527return true 
528}
529
530/**
531 * 功能:使指定值的指定名称的单复选框处于选中状态。
532 * radioName:单选框组件名
533 * val:指定值
534 */
535function makeRadioChecked(radioName, val) {
536    var obj = document.all[radioName];
537    try {
538        if (obj) {
539            if (obj.type == "radio" && obj.value == val) {
540                obj.checked = true;
541            }
542            for (var i = 0; i < obj.length; i++) {
543                if (obj[i].type == "radio" && obj[i].value == val) {
544                    obj[i].checked = true;
545                    break;
546                }
547            }
548        }
549    } catch(exception) {
550        alert("error");
551    }
552}
553
554自创javascrit分页代码。
555
556function showpages(total,perpage,current,filename,seed,bShow){
557//total总记录数,perpage每页记录数,current当前记录,filename文件名?page=,seed中间数字两边间隔数,bshow显示中间数字页面
558//
559
560
561var sRet,i,startPage,endPage,totalPage
562//startPage:循环开始/endPage:循环结束/totalPage:总页数
563//处理URL中的空格
564if (filename!=''){
565filename="&"+filename;
566}
567  if (total % perpage==0 ){
568
569 totalPage=total/perpage;
570
571}else{
572
573totalPage=Math.floor(total/perpage)+1;
574}
575
576
577  if (totalPage<=10){
578startPage=1;
579}else{
580if ((current-seed) >0) {
581startPage=current-seed;
582}else{
583startPage=1;
584}
585}
586
587if (totalPage<=10) {
588endPage=totalPage
589}else{
590if ((current+seed)<totalPage) {
591endPage=current+seed
592}else{
593endPage=totalPage
594}
595}
596
597if (current<seed) {
598if (totalPage>10){
599endPage=10
600}
601}
602 var sRet1=""
603
604 if (bShow) {
605for (i=startPage;i<=endPage;i++)
606{
607
608if (i==current) 
609{
610sRet1=sRet1+"<font style=''><b>"+current+"</b></font> "
611}
612else
613{
614sRet1=sRet1+"<a href=?page="+i+filename+">"+i+"</a> "
615}
616
617}
618 }
619
620    sRet=""
621    //sRet=sRet+"<form name=jumpPage mothod=post action= >"
622sRet=sRet+"<font class=tcat2>共"+total+"条,"
623    sRet=sRet+"第"+current+"页/共"+ totalPage+"页, "
624sRet=sRet+"<a href=?page=1"+ filename+">第一页</a> "
625if ((current==1)&&(current!=totalPage)){
626
627
628sRet=sRet+" 上一页 "+sRet1+" <a href=?page="+(current+1) +filename+">下一页</a>"
629}else{
630if (current>1) {
631
632if  (current<totalPage) {
633sRet=sRet+" <a href=?page="+(current-1)+filename+">上一页</a> "+sRet1+" <a href=?page="+(current+1)+filename+">下一页</a>"
634}else{
635if (current==totalPage) {
636sRet=sRet+" <a href=?page="+(current-1)+filename+">上一页</a> "+sRet1+" 下一页"
637
638}
639    }
640}else{
641sRet=sRet+" 上一页 "+sRet1+" 下一页"
642}
643}
644sRet=sRet+"  <a href=?page="+ totalPage+filename+">最末页</a>"
645//sRet=sRet+"<input type=hidden name=wheretogo value=go>&nbsp;"
646//sRet=sRet+"<input type=hidden name=maxpage value="+totalPage+">"
647sRet=sRet+"  跳转到<input name=currentPage class=border1px size=3  onkeydown=if((event.keyCode==13)&&(this.value!='')&&(this.value!=0)&&(this.value<"+(totalPage+1)+"))window.location='?page='+this.value+'"+filename+"'; onkeyup=if(isNaN(this.value))this.value=''; >页 "
648//sRet=sRet+"<input type=button value=GO class=border1px onclick=jump('"+filename+"');>&nbsp;"
649
650sRet=sRet+"</font>"
651//sRet=sRet+"</form>"
652//alert(sRet);
653document.write(sRet)
654
655}
656
657检查有没有空格
658if(aa.indexOf(" ")>=0){
659   alert("aa中不允许含有空格!!");
660   document.myForm.aa.focus();
661   return false;
662}
663

JS的一些常见验证代码的更多相关文章

  1. 表单验证代码实例:jquery.validate.js表单验证插件

    jquery.validate.js是JQuery旗下的一个验证插件,借助JQuery的优势,我们可以迅速验证一些常见的输入,并且可以自己扩充自己的验证方法.使用前请先下载必要的JQuery插件:jq ...

  2. SpringMVC学习系列-后记 结合SpringMVC和Hibernate-validator,根据后台验证规则自动生成前台的js验证代码

    在SpringMVC学习系列(6) 之 数据验证中我们已经学习了如何结合Hibernate-validator进行后台的数据合法性验证,但是通常来说后台验证只是第二道保险,为了更好的用户体验会现在前端 ...

  3. 原生js制作表单验证,基本的表单验证方法

    表单验证是web前端最常见的功能之一,也属于前端开发的基本功.自己完成一个表单验证的开发,也有助于加深对字符串处理和正则表达式的理解. 基本的表单验证包括如:字母验证.数字验证.字母和数字验证.汉字验 ...

  4. NODE.JS学习的常见误区及四大名著

    NODE.JS学习的常见误区及四大名著 前段时间由于不满于社区里很多人对于NODE.JS的种种误解而写了一篇文章名为: NODE.JS之我见:http://www.cnblogs.com/pugang ...

  5. bootstrapValidator.js 做表单验证

    有这样的一个场景,我们在提交form表单的时候 可能要做一些验证,比如判断是不是为空,电话的格式验证,邮箱的格式验证等等,手写起来也是可以得. 但是今天我介绍一个bootstrap插件简化开发.就是b ...

  6. [转]jQuery.validate插件在失去焦点时执行验证代码

    转:http://my.oschina.net/enyo/blog/311566 关于 jquery.validate.js 表单验证插件如何在失去焦点时做验证.看手册后发现默认是在表单提交时执行验证 ...

  7. atitit js 开发工具 ide的代码结构显示(func list) outline总结

    atitit js 开发工具 ide的代码结构显示(func list) outline总结 eclips环境::4.3.1 #-------需要一个js开发工具,可以显示outline或者代码结构显 ...

  8. (转)jquery.validate.js 的 remote 后台验证

    之前已经有一篇关于jquery.validate.js验证的文章,还不太理解的可以先看看:jQuery Validate 表单验证(这篇文章只是介绍了一下如何实现前台验证,并没有涉及后台验证remot ...

  9. {{angular.js 使用技巧}} - 基于验证框架的扩展(w5cValidator)

    开场白: angular.js 是谷歌出的前端js MV*框架,我也是今年做 worktile 的时候才开始接触的,起初技术选型的时候还准备使用 backbone(毕竟很多大公司在使用他,而且也是比较 ...

随机推荐

  1. 将mysql的data目录移走方法

    如移动到"/home/mysql/data",我的mysql是装在/usr/local/mysql下的 1. 将/usr/local/mysql/data移动到/home/mysq ...

  2. shell 文件中列的整合成一个文件

    原文件 第一种方法 [root@wxb- jt]# paste -d "," b c d ,q, , ,e, ,r, ,t, [root@wxb- jt]# paste b c d ...

  3. 常见的 http 状态码

    1~5开头的HTTP状态码分别表示: 1XX 表示消息 2XX 表示成功 3XX 表示重定向 4XX 表示请求错误 5XX 表示服务端错误 常见的HTTP状态码: 200 OK 表示请求成功 一切正常 ...

  4. Vim编辑器与Shell命令脚本

    章节简述: 本章节将教给您如何使用Vim编辑器来编写文档.配置主机名称.网卡参数以及yum仓库 ,熟练使用各个模式和命令快捷键. 我们可以通过Vim编辑器将Linux命令放入合适的逻辑测试语句(if. ...

  5. 杂谈3之English

    1.面向过程(OPP):Orient Procedure Program (C语言) 2.面向对象(OOP):Orient ObjectProgram(Java) 3.面向对象的三大特征:继承Inhe ...

  6. 远程连接mysql数据库,1130问题

    远程或使用非127.0.0.1和localhost地址连接时,出现代号为1130问题, ERROR 1130: Host 192.168.2.159 is not allowed to connect ...

  7. PAT乙级1004. 成绩排名 (20)

    读入n名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式:每个测试输入包含1个测试用例,格式为 第1行:正整数n 第2行:第1个学生的姓名 学号 成绩 第3行:第2个学生 ...

  8. ES 6 : 数组的扩展

    1.Array.from() Array.from方法用于将两类对象转为真正的数组:类似数组的对象和可遍历(iterable)对象. 下面是一个类似数组的对象,Array.from将它转为真正的数组. ...

  9. seajs +gruntjs 合作开发

    nodejs的出现 让服务器端能运行 js commonjs规范 规范服务器端开发按照什么写法去写 包括模块化开发 ( 不同点 请求在本地 js加载) AMD规范 浏览器端开发的规范 (不同点: 浏览 ...

  10. springmvc注释

    //请求json串(商品信息)    输出json(商品信息) //@RequestBody将请求的商品信息的json串转成itemsCustom对象 //@ResponseBody将itemsCus ...