怎么用javaScript验证输入框的值,比如:一个文本框,和一个按钮,我想点击按钮时,对文本框的值进行验证(是否是float类型:如2.5,2这是正确的,而"aa", 2.5.3 ,.27,-.27),而且当输入了很大的一个值(超出范围,如:999999999999999999)等等,可能还不够全面,要考虑全面些。。
各位大虾,请帮忙呀。谢谢!!!!
各位大虾,请帮忙呀。谢谢!!!!
解决方案 »
- 我是新手,初学ASP.NET,请高手帮我解决一下
- 想实现一个隐藏IE地址栏,工具栏的功能,但遇到了一些问题待高人来帮忙解决一下
- 请教下各位,这么个项目大概值多少钱?
- 获取webbrowser当前网页中的某文本框的值
- 水晶报表付值问题
- 关于RadioButtonList的问题
- 高分求插入记录的办法。access数据库。总是错误。
- 谁有asp.net第一步这本书的电子书啊?
- 如何获取 demo.aspx?string1215
- Asp.Net 1.1 中如何在自定义控件中加入js脚本 请高手指点 加分!!!!!!!!
- 求做菜单的完整示例,或javascript的示例,本人想学javascript,想找一些入门示例来练习。
- 新手!关于datagrid的使用问题,请热心的高手帮帮我.
IsFloat(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)
功能:判断是否为浮点数、正浮点数、负浮点数、正浮点数+0、负浮点数+0
*/function IsFloat(objStr,sign,zero)
{
var reg;
var bolzero;
if(Trim(objStr)=="")
{
return false;
}
else
{
objStr=objStr.toString();
}
if((sign==null)||(Trim(sign)==""))
{
sign="+-";
}
if((zero==null)||(Trim(zero)==""))
{
bolzero=false;
}
else
{
zero=zero.toString();
if(zero=="0")
{
bolzero=true;
}
else
{
alert("检查是否包含0参数,只可为(空、0)");
}
}
switch(sign)
{
case "+-":
//浮点数
reg=/^((-?|\+?)\d+)(\.\d+)?$/;
break;
case "+":
if(!bolzero)
{
//正浮点数
reg=/^\+?(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
}
else
{
//正浮点数+0
reg=/^\+?\d+(\.\d+)?$/;
}
break;
case "-":
if(!bolzero)
{
//负浮点数
reg=/^-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
}
else
{
//负浮点数+0
reg=/^((-\d+(\.\d+)?)|(0+(\.0+)?))$/;
}
break;
default:
alert("检查符号参数,只可为(空、+、-)");
return false;
break;
}
var r=objStr.match(reg);
if(r==null)
{
return false;
}
else
{
return true;
}
}
提供个例子给你看看,可以自己拓展
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);
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'))");
}在文本框的属性中加 onkeydown=_SetDigitalInput(this,小数点前的位数,小数点后的位数,true or false);