<!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>金融軟件文本框禁用非法字符特效-2011-04-26</title>
<style type="text/css">
.ime
{
ime-mode: disabled; /**只對IE有效,禁用輸入法切換**/
width:300px;
}
</style>
<script language="javascript" type="text/javascript">
function isValiNum(k) {
return (k == 9 || k == 13 || k == 46 || k == 8 || k == 189 || k == 190 || k == 110 || (k >= 48 && k <= 57) || (k >= 96 && k <= 105) || (k >= 37 && k <= 40));
}
function numKeyDown() {
var k = window.event.keyCode;
if(k==86) {
return numPaste();
}
//判斷輸入字符是否合法;調用isValiNum函數;
return isValiNum(k);
}
function numPaste() {
//從剪切板中獲取數據;
var text = window.clipboardData.getData("Text");
for (var i = 0; i < text.length; i++) {
var asc = text.charCodeAt(i); //轉成ASCII值;
if (!isValiNum(asc)) {
alert("您的粘貼內容有非法字符");
return false;
}
}
}
//自動給輸入的數據加逗號;
function commafy(n) {
var re = /\d{1,3}(?=(\d{3})+$)/g;
var n1 = n.replace(/^(\d+)((\.\d+)?)$/, function (s, s1, s2) { return s1.replace(re, "{1},") + s2; });
return n1;
}
</script>
</head>
<body>
<input id="txtCode" type="text" class="ime" οnpaste="return numPaste()" οnkeydοwn="return numKeyDown()" οnfοcus="this.style.textAlign='right'; this.value=this.value.replace(/,/g,'');" οnblur="this.style.textAlign='right';this.value=commafy(this.value)" />
</body>
</html>
JS金融文本框
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.