最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js實現(xiàn)文本框支持加減運(yùn)算的方法

 更新時間:2015年08月19日 11:05:06   作者:企鵝  
這篇文章主要介紹了js實現(xiàn)文本框支持加減運(yùn)算的方法,可實現(xiàn)文本框輸入加減運(yùn)算式同時右側(cè)實時顯示對應(yīng)計算結(jié)果的功能,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了js實現(xiàn)文本框支持加減運(yùn)算的方法。分享給大家供大家參考。具體如下:

這是一個網(wǎng)頁表單效果,讓表單內(nèi)的文本框支持加減運(yùn)算,不過你要按正確的運(yùn)算式輸入,要不然它沒有那么智能哦,比如輸入1+5,文本框旁邊會顯示計算結(jié)果,這要?dú)w功于JavaScript的功能。

運(yùn)行效果截圖如下:

在線演示地址如下:

http://demo.jb51.net/js/2015/js-math-input-method-codes/

具體代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>支持加減運(yùn)算的文本框</title>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<style type="text/css">
body{color:#000;font-size:14px;font-family:Verdana,Arial,Helvetica,sans-serif,"宋體";}
input{border-style:solid;border-color:#868275;background-color:#f9f9f9;border-width:1px;color:#505050;vertical-align:middle;}
</style>
<script language=javascript>
function FloatAdd(arg1,arg2){
 var r1,r2,m;
 try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}
 try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}
 m=Math.pow(10,Math.max(r1,r2))
 return (arg1*m+arg2*m)/m
}
function FloatSubtr(arg1,arg2){
 return FloatAdd(arg1,-arg2);
}
function IsMoney(Money){
 if(/^[\d|+|.|-]+$/.test(Money)) return true;
 return false;
}
function result(){
 str=document.getElementById("buy").value;
 if(!(IsMoney(str))){
  document.getElementById("amount").innerHTML ="無效金額";
  return false;
 }
 var len=str.length,money=0,Num=0;
 var NumStr="",ctrlflag="x",cflag=0;
 for(var i=0;i<len; i++){
  c= str.charAt(i);
  if((c=="+")||(c=="-")){
   if(i+1<len){
    if ((str.charAt(i+1)=="+")||(str.charAt(i+1)=="-")) continue;
   }
   if((NumStr!="")&&(isNaN(NumStr))){
    if(isNaN(NumStr)){
     document.getElementById("amount").innerHTML ="輸入無效金額";
     return false;
    }
   }
   if(NumStr!=""){
   //alert("i:"+i+"NumStr:"+NumStr);
    if ((ctrlflag=="+")||(ctrlflag=="x")){
     Num=parseFloat(NumStr);
     //alert(ctrlflag+"money:"+money+"Num:"+Num);
     money=FloatAdd(money,Num);
     NumStr="";
     Num=0;
     ctrlflag=c;
    }
    else{
     //alert(money+"里面減了"+NumStr);
     Num=parseFloat(NumStr);
     money=FloatSubtr(money,Num);
     NumStr="";
     Num=0;
     ctrlflag=c;
    }
   }
   else{
    ctrlflag=c;
   }
  continue;
  }
  else{
   NumStr=NumStr+""+c;
  }
 }
 if((NumStr!="")&&(isNaN(NumStr))){
  if (isNaN(NumStr)){
   document.getElementById("amount").innerHTML ="無效金額"+NumStr;
   return false;
  }
 }
 if((ctrlflag=="-")&&(NumStr!="")){
  Num=parseFloat(NumStr); 
  money=FloatSubtr(money,Num);
 }
 if(((ctrlflag=="+")||(ctrlflag=="x"))&&((NumStr!=""))){
  Num=parseFloat(NumStr);
  money=FloatAdd(money,Num);
 }
 document.getElementById("amount").innerHTML =money;
}
</script>
</head>
<body>
請輸入加減計算式:<input id="buy" name="buy" maxlength="30" type="text" onkeyup="javascript:result();">
<span id="amount"></span>
</body>
</html>

希望本文所述對大家的javascript程序設(shè)計有所幫助。

相關(guān)文章

  • Bootstrap實現(xiàn)帶暫停功能的輪播組件(推薦)

    Bootstrap實現(xiàn)帶暫停功能的輪播組件(推薦)

    最近小編在項目中用到了一款帶輪播組件,功能非常齊全,可以設(shè)置各種標(biāo)題樣式、動畫效果、輪播時間、開始暫停等功能,下面小編通過本文給大家詳細(xì)介紹下實現(xiàn)過程,需要的朋友參考下吧
    2016-11-11
  • 基于javascript實現(xiàn)精確到毫秒的倒計時限時搶購

    基于javascript實現(xiàn)精確到毫秒的倒計時限時搶購

    現(xiàn)如今做電商網(wǎng)站必不可少的一個效果就是限時搶購,這也是各大電商網(wǎng)站的一種促銷手段。如何實現(xiàn)倒計時限時搶購,本文為大家分享了javascript實現(xiàn)倒計時限時搶購的的相關(guān)代碼,感興趣的小伙伴們可以參考一下
    2016-04-04
  • uniapp使用第三方UI庫uview-plus的方法

    uniapp使用第三方UI庫uview-plus的方法

    uview-plus是uni-app全面兼容nvue的uni-app生態(tài)框架,全面的組件和便捷的工具會讓您信手拈來,下面這篇文章主要給大家介紹了關(guān)于uniapp使用第三方UI庫uview-plus的方法,需要的朋友可以參考下
    2023-04-04
  • PHP自動加載autoload和命名空間的應(yīng)用小結(jié)

    PHP自動加載autoload和命名空間的應(yīng)用小結(jié)

    PHP的自動加載就是我們加載實例化類的時候,不需要手動去寫require來導(dǎo)入這個class.php文件,程序自動幫我們加載導(dǎo)入進(jìn)來這.篇文章主要介紹了PHP自動加載autoload和命名空的應(yīng)用,需要的朋友可以參考下
    2017-12-12
  • js對象數(shù)組按屬性快速排序

    js對象數(shù)組按屬性快速排序

    前一篇《關(guān)于selector性能比賽》中提到,目測覺得在$("div,p,a")這樣有逗號時,sizzle耗時異常(600多個元素,花了200ms),說是它可能沒有優(yōu)化ie下的排序。
    2011-01-01
  • ES6中解構(gòu)賦值的語法及用法實例

    ES6中解構(gòu)賦值的語法及用法實例

    ES6的解構(gòu)賦值是一種快速方便的方法,可以從數(shù)組或?qū)ο笾刑崛≈挡⑵滟x值給變量,下面這篇文章主要給大家介紹了關(guān)于ES6中解構(gòu)賦值的語法及用法的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-04-04
  • 由淺入深講解Javascript繼承機(jī)制與simple-inheritance源碼分析

    由淺入深講解Javascript繼承機(jī)制與simple-inheritance源碼分析

    Javascript語言對繼承實現(xiàn)的并不好,需要工程師自己去實現(xiàn)一套完整的繼承機(jī)制。下面我們由淺入深的系統(tǒng)掌握使用javascript繼承的技巧,對javascript繼承相關(guān)知識感興趣的朋友一起看看吧
    2015-12-12
  • javaScript同意等待代碼實現(xiàn)心得

    javaScript同意等待代碼實現(xiàn)心得

    javaScript功能描述:本程序?qū)崿F(xiàn)在同意某某協(xié)議頁面對同意按鈕進(jìn)行十秒鐘的禁用,同時在按鈕的Value顯示倒計時。
    2011-01-01
  • JavaScript中FontFace對象的使用方式

    JavaScript中FontFace對象的使用方式

    這篇文章主要介紹了JavaScript中FontFace對象的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • BootStrap Validator 版本差異問題導(dǎo)致的submitHandler失效問題的解決方法

    BootStrap Validator 版本差異問題導(dǎo)致的submitHandler失效問題的解決方法

    這篇文章主要介紹了BootStrap Validator 版本差異問題導(dǎo)致的submitHandler失效問題的解決方法,下面通過本文給大家詳細(xì)說明一下,需要的朋友可以參考下
    2016-12-12

最新評論

荃湾区| 南召县| 唐河县| 冷水江市| 德安县| 云梦县| 兴山县| 绍兴县| 即墨市| 耒阳市| 汝南县| 浑源县| 盘山县| 西城区| 长垣县| 锦屏县| 金山区| 焦作市| 永春县| 平利县| 遵化市| 承德县| 江城| 江都市| 汉中市| 孟村| 高陵县| 东宁县| 平顺县| 乐安县| 车致| 建宁县| 喀喇沁旗| 廊坊市| 渭源县| 平和县| 巫溪县| 肥乡县| 平远县| 封丘县| 镇沅|