js问题 用js判断文本框内输入的必须为正整数或小数 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <input type="text" onKeyUp="this.value=this.value.replace(/[^\d.]/g,'')" onafterpaste="this.value=this.value.replace(/[^\d.]/g,'')" /> 试试这个 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB2312" /> <title>正则实现文本框只能输入正整数</title> <script> function test(value) { var pattern=/^\d*\.?\d*$/g; if (pattern.test(value)) { return true; } else { document.getElementById('a').value = ''; } } </script> </head> <body> <input type="text" id='a' onKeyUp="test(this.value)" onafterpaste="test(this.value)" /> </body> </html>这个可以用。。看你对0有没有限定。。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB2312" /> <title>正则实现文本框只能输入正整数</title> <script> function test(value) { var pattern=/^\d*\.?\d+$/g; if (pattern.test(value)) { return true; } else { document.getElementById('a').value = ''; } } </script> </head> <body> <input type="text" id='a' onblur="test(this.value)" /> </body> </html>经测试。。这个好。。 var tel = $("#MobliePhone").val();var partten = /^[1-9]\d*\.?\d*$/;if (partten.test(tel)){}else{} /*** 判断是否为正整数或正浮点数* @param {} testStr要验证的字符* @return {Boolean} 不是正整数或正浮点数返回false,否则返回true*/function checkFloat(testStr) { var matchStr = /^[1-9]\d*$|^([1-9]\d*\.\d*[0-9]\d*$|0\.\d*[1-9]\d*$)/; return matchStr.test(testStr);}页面调用if (!checkFloat(document.getElementById("txtNum"))) { alert("只能为为正整数或正浮点数!");}具体的应用还要看你的需求,改matchStr就行了。 如果没要求一定用正则的话 这样试试var a="123.2a";var b=Math.abs(parseFloat(a));alert(a==b); 我们这里的框架里有这个方法,分享给楼主吧。/*** 输入框t中只允许输入正整数数字,t是输入框对象,在onKeyUp事件内调用就行*/function inPutNum(t){ str = t.value; str2 = ""; for(i=0;i<str.length;i++){ var ch=str.charCodeAt(i); var chars = str.substring(i,i+1); if(ch<48 || ch>57) { break; }else{ str2 += chars; } } t.value = str2;}下面是附带的楼主可能会有用的,嘿嘿/***输入框t中只允许输入正整数数字,并且最大位数不能超过maxInt*/function inPutMaxInt(t,maxInt){ str = t.value; strT = ""; for (i = 0; i < str.length; i ++){ if (i == maxInt){ break; } var ch = str.charCodeAt(i); var chars = str.substring(i, i + 1); if (ch < 48 || ch > 57){ break; } else { strT += chars; } } t.value = strT;}/*** 输入框t中只允许输入整数数字* flag-是否允许输入负整数,true-允许,false-不允许*/function inPutNum(t,flag){ str = t.value; str2 = ""; for(i=0;i<str.length;i++){ var ch=str.charCodeAt(i); var chars = str.substring(i,i+1); if(ch<48 || ch>57) { if(i==0 && flag=="true" && chars=="-"){ str2 += chars; }else{ break; } }else{ str2 += chars; } } t.value = str2;} xml文件 读取值 js+css 求一个有缩略图,翻页,自动翻页效果的代码 求submit+onsubmit+action的组合用法。 javascript传递src变量 如何用Javascript实现拖拽比较的功能 载入的小窗口显示在前面 发现一个奇怪的现象 我已有chm格式的帮助文档,请问用什么javascript脚本命令进行打开?在线等. 右键显示自己定制的菜单,如何实现。(首先实现者100分) 留一个400分的问题,,高手快来那 分 javascript 的table表格+jsp 鼠标移上去样式修改求助
试试这个
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
<title>正则实现文本框只能输入正整数</title>
<script>
function test(value) {
var pattern=/^\d*\.?\d*$/g;
if (pattern.test(value)) {
return true;
}
else {
document.getElementById('a').value = '';
}
}
</script>
</head>
<body>
<input type="text" id='a' onKeyUp="test(this.value)" onafterpaste="test(this.value)" />
</body>
</html>这个可以用。。看你对0有没有限定。。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
<title>正则实现文本框只能输入正整数</title>
<script>
function test(value) {
var pattern=/^\d*\.?\d+$/g;
if (pattern.test(value)) {
return true;
}
else {
document.getElementById('a').value = '';
}
}
</script>
</head>
<body>
<input type="text" id='a' onblur="test(this.value)" />
</body>
</html>
经测试。。这个好。。
var tel = $("#MobliePhone").val();
var partten = /^[1-9]\d*\.?\d*$/;
if (partten.test(tel))
{}else
{}
/**
* 判断是否为正整数或正浮点数
* @param {} testStr要验证的字符
* @return {Boolean} 不是正整数或正浮点数返回false,否则返回true
*/
function checkFloat(testStr) {
var matchStr = /^[1-9]\d*$|^([1-9]\d*\.\d*[0-9]\d*$|0\.\d*[1-9]\d*$)/;
return matchStr.test(testStr);
}页面调用if (!checkFloat(document.getElementById("txtNum"))) {
alert("只能为为正整数或正浮点数!");
}具体的应用还要看你的需求,改matchStr就行了。
var a="123.2a";
var b=Math.abs(parseFloat(a));
alert(a==b);
/**
* 输入框t中只允许输入正整数数字,t是输入框对象,在onKeyUp事件内调用就行
*/
function inPutNum(t){
str = t.value;
str2 = "";
for(i=0;i<str.length;i++){
var ch=str.charCodeAt(i);
var chars = str.substring(i,i+1);
if(ch<48 || ch>57) {
break;
}else{
str2 += chars;
}
}
t.value = str2;
}
下面是附带的楼主可能会有用的,嘿嘿
/**
*输入框t中只允许输入正整数数字,并且最大位数不能超过maxInt
*/
function inPutMaxInt(t,maxInt){
str = t.value;
strT = "";
for (i = 0; i < str.length; i ++){
if (i == maxInt){
break;
}
var ch = str.charCodeAt(i);
var chars = str.substring(i, i + 1);
if (ch < 48 || ch > 57){
break;
} else {
strT += chars;
}
}
t.value = strT;
}
/**
* 输入框t中只允许输入整数数字
* flag-是否允许输入负整数,true-允许,false-不允许
*/
function inPutNum(t,flag){
str = t.value;
str2 = "";
for(i=0;i<str.length;i++){
var ch=str.charCodeAt(i);
var chars = str.substring(i,i+1);
if(ch<48 || ch>57) {
if(i==0 && flag=="true" && chars=="-"){
str2 += chars;
}else{
break;
}
}else{
str2 += chars;
}
}
t.value = str2;
}