用js判断文本框内输入的必须为正整数或小数
解决方案 »
- jquery用ajax加载的HTML内容里面包含的jquery标签失效
- 正则表达式 如何验证 1234aa&&aa1234 (&&两边都必须是五位而且为字母数字的混合)
- 关于jquery中ajaxStart()方法的问题
- 随便提交什么验证都通过啊!这个页面的Javascript正则表达式要怎么写呢?高手帮忙啊!谢谢啦!!!!
- 在线等待:请问如何根据某个radio控件本身得到以该名称命名的控件数组?(有实例)
- 急急急救命呀!!!请高手们看看帮忙在线等.给120分!
- JavaScript在页面间传递参数的问题
- 怎么用js读取form中的内容
- document.write使用中css和图片不能正常显示怎么解决?在线等待!
- 如何使confirm()的按钮默认为“取消”?
- 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;
}