求一段JavaScript代碼。

jhkII 2006-09-01 03:16:48
求一段JavaScript代碼,要求控制某個TextBox只能輸入小數,並且只能存在一個小數點,小數點不能出現在第一個位置?
...全文
179 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jhkII 2006-09-01
  • 打赏
  • 举报
回复
非常感謝兩位,優其是xiedan79(Sam Xie)
bestrong 2006-09-01
  • 打赏
  • 举报
回复
<script language="javascript">
function isValid()
{
re = /^\d+\.?\d*$/ ;
var str=form1.textfield_input.value;
if(!re.test(str))
{
alert("只能输入一个小数,请重新输入");
len=str.length;
str1=str.substr(0,len-1);
form1.textfield_input.value=str1;
form1.textfield_input.focus();
return;
}
}
</script>
<body>
<form name="form1" method="post" action="">
<input name="textfield_input" type="text" id="textfield_input" onKeyUp="javascript: isValid()">
<input type="submit" name="Submit" value="Submit" >
</form>
</body>
jc15271149 2006-09-01
  • 打赏
  • 举报
回复
function checkNum()
{
var reg=/^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$/;
if(reg.test(window.document.Form1.txtNum.value) == false)
{
alert('请输入小数!');
document.Form1.txtNum.focus();
return false;
}
}
xiedan79 2006-09-01
  • 打赏
  • 举报
回复
function _MaskInput(oInput, sReg, sInputStr)
{
var re = new RegExp(sReg);
var docSel = document.selection.createRange();
if(docSel.parentElement().tagName.toLowerCase() != "input")
return false;
oSel = docSel.duplicate();
oSel.text = "";
var srcRange = oInput.createTextRange();
oSel.setEndPoint("StartToStart", srcRange);
var str = oSel.text + sInputStr + srcRange.text.substr(oSel.text.length);
//alert(str);
//alert(re.test(str));
return re.test(str);
}

//bSign 是否可以输入符号
//nInt 小数点前的位数 nDec 小数点后的位数
function _SetDigitalInput(oInput,nInt,nDec,bSign)
{
if(typeof(bSign) != "boolean")
bSign = false;
oInput.style.imeMode = "disabled";
var sReg = "^";
if(bSign)
sReg += "-?(";
sReg += "\\\\d{1,"+nInt.toString()+"}";
if(nDec > 0)
sReg += "(\\\\.\\\\d{0,"+nDec.toString()+"})?";
if(bSign)
sReg += ")?";
sReg += "$";
oInput.onkeypress = new Function("return _MaskInput(this,'"+sReg+"',String.fromCharCode(event.keyCode))");
oInput.onpaste = new Function("return _MaskInput(this,'"+sReg + "',window.clipboardData.getData('Text'))");
oInput.ondrop = new Function("return _MaskInput(this,'"+sReg + "',event.dataTransfer.getData('Text'))");
}

<input type=text onkeypress="_SetDigitalInput(this, 5, 2, false);">
jhkII 2006-09-01
  • 打赏
  • 举报
回复
大哥,這個不行啊,任何字符都能輸入啊!
jc15271149 2006-09-01
  • 打赏
  • 举报
回复
function checkNum()
{
var reg=/^[-\+]?\d+(\.\d+)?$/;
if(reg.test(window.document.Form1.txtNum.value) == false)
{
alert('请输入一个大于0的整数!');
document.Form1.txtNum.focus();
return false;
}
}

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧