国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js數字輸入框(包括最大值最小值限制和四舍五入)

2019-11-21 00:58:08
字體:
來源:轉載
供稿:網友
由于原文已經介紹的很好了,現在只是一些翻譯和小小的補充。
例子
復制代碼 代碼如下:

<!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>Demo</title>
<script type="text/javascript" src="jquery-1.2.6.min.js"></script>
<script type="text/javascript" src="autoNumeric.js"></script>
<script type="text/javascript">
jQuery(function($) {
$(':text').focus(function(){
$(':text').autoNumeric();
});
});

var change = function(){
//Change the rule.
$(":text[id$='text1']").attr('alt','p2c3p0s');
//Clear the text
$(":text[id$='text1']").val('');
$("span[id$='lblrule']").text('格式:99(范圍為0-99)');
}

var show = function(){
//format the text2 and text3.
var convertInput = $.fn.autoNumeric.Strip($(":text[id$='text1']").attr("id"));
$(":text[id$='text2']").val(convertInput);
$(":text[id$='text3']").val($.fn.autoNumeric.Format($(":text[id$='text3']").attr("id"), convertInput));
}
</script>
</head>
<body>
<table>
<tr>
<td>
<span id='lblrule' >格式:9999.99(范圍為0-9999.99)(動態修改alt屬性):  </span>
</td>
<td>
<input id="text1" value="" type="text" style="TEXT-ALIGN: right" alt="p4c3p2s" size="25" />
<input type="button" value='格式化顯示' onclick="show();" />
<input type="button" value='改變屬性' onclick="change();"/>
</td>
</tr>
<tr>
<td>
<span id='lbl1' >利用Strip()方法去掉了格式,如'1,123'變為'1123'(僅顯示第一個文本框內容):  </span>
</td>
<td>
<input id="text2" value="" type="text" style="TEXT-ALIGN: right" readonly="readonly" alt="p4c3p0S" size="25" />
</td>
</tr>
<tr>
<td>
<span id='lbl2' >格式化數字,這里做的是四舍五入取整,如'5.6'變為'6'(僅顯示第一個文本框內容):  </span>
</td>
<td>
<input id="text3" value="" type="text" style="TEXT-ALIGN: right" readonly="readonly" alt="p4c3p0S" size="25" />
</td>
</tr>
</table>
</body>
</html>

本plugin的特性:

.只能輸入數字,小數分隔符(包括小數點),負號.
.支持在同一個頁面上每個text input的不同輸入格式,也就是說可以對頁面上每一個輸入框進行自定義設置.
.九種不同的數字修約規則(就是四舍五入那些)
.可以分別針對整數和小數設置最大值,最小值(很好用)
.輸入值可以只為正數,也可以正負數.
.只有小數和零時,前導符可以為零。不過如輸入數為"900"時,刪掉"9"它會保留00.
.支持粘貼,不過粘貼文字時會變成"0.00".
.公共方法Strip()可以去掉格式化.
.公共方法Format()可以將需要的值進行格式化.

關于alt屬性中的設置:

alt中一共有7個字符,分別代表了7個格式化屬性:
第一個:值為'p'(只能輸入正數)或者'n'(正負都可以輸入)
第二個:值為0-9,分別代表小數點分隔符左邊的位數.(當為'0'時可以輸入15位整數)
第三個:用做數字分組的分隔符(就是千分位等等用的分隔符)
a:單引號或撇號(計時和角度時可以用)
c:逗號(默認)
p:句號(如果小數點的分隔符也是句號會有沖突)
s:空格號
x:無
第四個:值為2,3(默認),4,用作數字分組的數字個數(如'3'的話為'123,123','4'的話為'12,3123','2'的時候好像是印度那邊有這種分法,看原文作者寫的)
第五個:小數點的分隔符.值有c(逗號)和p(句號),p為默認.
第六個:小數位的個數
:不允許輸入小數,也就是說只能輸入整數
-9:小數位數(默認為2,如'1.23')
a-Z:包括大小寫,它會找id為'dp[a-Z]'的數字輸入框,并將里面的數字作為小數的位數,也就是說可以動態修改小數位數.
第七個:九種不同的數字修約規則
S = Round-Half-Up Symmetric (默認,一般四舍五入就用它了)
A = Round-Half-Up Asymmetric
s = Round-Half-Down Symmetric
a = Round-Half-Down Asymmetric
B = Round-Half-Even "Bankers Rounding"(銀行家算法?沒用過)
U = Round Up "Round-Away-From-Zero"(最大整數時用這個,當然不僅僅是整數范疇,可以精確到小數位)
D = Round Down "Round-Toward-Zero"(最小整數時用這個)
C = Round to Ceiling "Toward Positive Infinity"
F = Round to Floor "Toward Negative Infinity"
關于這個數字修約規則有一篇英文文章,可以參考。
還有一些關于粘貼的特性和數字修約的一些例子就不一一介紹了。有興趣的可以上作者的原文看看。
非常感謝作者能提供一個這么好的Jquery plugin.
測試代碼打包http://xiazai.VeVB.COm/200911/yuanma/numeric-demo.rar
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丹巴县| 济阳县| 绵竹市| 永康市| 宁德市| 雷山县| 潼关县| 通河县| 仁寿县| 东光县| 万宁市| 顺义区| 乌恰县| 怀远县| 诏安县| 莒南县| 明星| 乌兰察布市| 三门县| 太湖县| 浙江省| 栾川县| 邵东县| 观塘区| 平武县| 达拉特旗| 崇义县| 乌鲁木齐市| 隆尧县| 桂平市| 龙口市| 年辖:市辖区| 邢台市| 遂昌县| 泸溪县| 长丰县| 河南省| 普兰县| 钟祥市| 文成县| 德安县|