如题,我想对输入金额的文本框进行验证,如何实现?最好是客户端实现
解决方案 »
- 对象不能从 DBNull 转换为其他类型。
- 有人用过lhgdialog的DIV弹出窗口吗?帮忙看看
- 一个非常郁闷的问题
- 手机网站方面问题.你的可用分比别人少吧!每天发帖即可得 30 可用分!
- 急求高手帮忙:编写一个截取字符串的函数.........
- 我想谈出有新消息框!
- 求救——傻B的.NET2005,自作聪明,总是无法更新dll引用
- 【求助】如何解除起始页??
- 大家帮我看看下面的代码,运行不了啊!!
- 大家帮忙看看这个问题怎么解决 好奇怪!
- 在用fileUpload上传图片的时候,怎样才能让它在上传的时候显示一张图片,然后上传结束后图片不显示。。。
- vs.net2005中reportviewer的错误
好像这样: ([0-9]{0,})|([0-9]{0,}.[0-9]{0,3})
<head runat="server">
<script language="javascript" type="text/javascript">
function NumberOnly()
{
if (^\d+(.\d{1,3})?$ )
alert("单价或总价只能是数字和小数点,请重新输入!");
event.returnValue = false;
}
</script>
</head><asp:TextBox runat ="server" ID ="TextBox12" Width ="120"></asp:TextBox>后台:
TextBox12.Attributes.Add("onkeypress", "NumberOnly()")
添加一个验证expression的那个控件
在他的判断表达式的一个属性里写入正则表达式
就可以了
是在客户端验证的
然后在ValidationExpression属性里填上^\d+(.\d{1,3})?$
{
if (event.keyCode < 48 || event.keyCode >57)
{
alert("只能是数字,请重新输入!");
event.returnValue = false;
}
}
function NumberOnly(TB)
{
if ( event.keyCode !=46 && (event.keyCode < 48 || event.keyCode >57 ))
{
alert("单价或总价只能是数字和小数点,请重新输入!");
event.returnValue = false;
}
else
if ( TB.indexOf(".") > 1 )
{
alert("只能有1个小数点,请重新输入!");
event.returnValue = false;
}
}但是,对于判断小数点只能有一个,却不行,还请指教。现在的是只要输入数字或小数点,救弹出:("只能有1个小数点,请重新输入!"),直到数字改成8,救什么也不弹出,哪怕小数点输入了好几个
{
var strs = TB.split(".");
alert(strs.length);//这里就可以知道字符串中存在几个.了
}
if(myreg.test(obj.value)== false)
{
alert('错误');
// obj.value='';
event.returnValue = false;
}
}
据说是因为 obj.value 是字符型的,和正则的数字不能比较
function NumberOnly(TB){
var str=parseFloat("TB.value");
var myreg=/^\d+(.\d{1,3})?$/;
if(myreg.test(str)){
alert('ok');
event.returnValue = false;
}
else
{
alert("不符合标准");
}
}后台:
TextBox12.Attributes.Add("onkeypress", "NumberOnly('TextBox12.ClientID')")不管 TextBox12 输入什么,都弹出:("不符合标准")
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD><script>
function DoValidate()
{
var oText = document.all["txt"];
var oValue = document.all["txt"].value; if(oValue.indexOf(".") != -1)
{
var str = oValue.split(".");
if(str.length > 2 || oValue.substr(0,1) == ".")
{
alert("输入格式有误");
DoFocus(oText);
return false;
}
str = oValue.substr(oValue.indexOf(".") + 1);
if(str.length > 3)
{
alert("小数点后只能保留3位小数");
DoFocus(oText);
return false;
}
} alert("输入正确"); return true;
} function DoFocus(obj)
{
obj.focus();
obj.select();
}</script>
<BODY>
<input type="text" onkeypress="return event.keyCode>=48&&event.keyCode<=57||event.keyCode==46"
onpaste="return !isNaN(clipboardData.getData('text'))" ondragenter="return false" style="IME-MODE: disabled" id="txt" ></br>
<input type="button" onclick="return DoValidate();" value="submit">
</BODY>
</HTML>
function ss()
{
var m1=document.getElementById("t1");
var re=/^\d+(.\d{1,3})?$/;
if(re.test(m1.value))
{
window.alert("对!");
}
else
{
window.alert("错误!");
}
}
</script>
<INPUT type="text" id=t1></FONT>
<INPUT type="button" value="Button" onclick="ss()">
<asp:RegularExpressionValidator id="RegularExpressionValidator1" runat="server" ErrorMessage="请输入正确的格式" ValidationExpression="^\d+(.\d{1,3})?$" ControlToValidate="TextBox1"></asp:RegularExpressionValidator>
用的话,页面上就加一个RegularExpressionValidator 控件,
ValidationExpression 里面加表达式, (\d{1,})|(\d{1,}.\d{1,3})
ControlToValidate里面选中要验证的控件。验证过程保证全部是在客户端运行的。验证成功才会允许提交,否则不会提交的,放心好了。
www.cnblogs.com/mail-ricklee下载。
{
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);
}
// only number
//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, 3, false);">
return re.test(str);
这句代码了么?
re.test(str) 是用来判断的
你可以把 return re.test(str); 换成下面的代码var bRe = re.test(str);
if(bRe)
return true;
else
{
alert("......");
return false;
}