请各位进来看看,我的这个问题是怎么回...
我的机器不知道出什么毛病了。打开图像说有错误。具体情况如下 ...
作者 babee 发布于 0000-00-00 分类:XML/HTML/CSS/Js
一个输入框,它的内容只能是数字,用javascript如何判断?
逛论坛交流:如果判断输入的内容是否是数字?
>[php]
//正则表达式
var regDate=/^([1-9]{1}[d]{3})-([d]{2})-([0-4]{1}[d]{1})$/ //年份
var regTime=/^([d]{2})
[d]{2})
[d]{2})$/;//时间
var regTel=/^(0[d]{2,3}[-])?([d]{2,3}[-])?([d]{7,8})$/;//常用的电话
var regEmail=/^([a-zA-Z0-9_-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([a-zA-Z0-9-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$/;//Email
var regNum=/^[1-9][d]*((.?[d])[d]*)?$/;//数字
var regInt=/^-?[1-9][d]*$/;//整数
//^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$ 数字
//^[-+]?d+(.d+)?$
//判断数字
//返回值:正确:true 错误:false
function isNum(num){
flag=regNum.test(num);
if(flag) return true;
return false;
}
//整数的确认;
//返回值:正确 true 错误 false
function isInt(theInt){
var flag=regInt.test(theInt);
if(flag) return true;
return false;
}
//判断Email地址的的合理性
//返回值:正确:true 错误:false
function isEmail(eStr){
flag=regEmail.test(eStr);
if(flag) return true;
return false;
}
//获取客户端的当前时间
var dDate=new Date();
var dYear=dDate.getFullYear();
var dMonth=FillNumber(dDate.getMonth()+1);
var dDay=FillNumber(dDate.getDate());
var dHours=FillNumber(dDate.getHours());
var dMinutes=FillNumber(dDate.getMinutes());
var dSeconds=FillNumber(dDate.getSeconds());
//返回当前时间
function hms(){
hm=FillNumber(new Date().getHours())+":"+FillNumber(new Date().getMinutes())+":"+FillNumber(new Date().getSeconds());
return hm;
}
// 日期的确认 isDate()
// 返回值:正确 true, 错误 false
function isDate (theStr) {
var dArray=theStr.match(regDate); //得到数组
if (dArray==null){
return (false);
}
else { //把年份月份日期分别付给变量
var y = dArray[1];
var m = dArray[2];
var d = dArray[3];
var maxDays = 31; //最长天数
if (m>12 || m<1 ) return false;//判断月份是否在1-12之间
if (m == 4 || m == 6 || m == 9 || m == 11) maxDays = 30;
else if(m == 2) {
if ( y % 4 > 0) maxDays = 28;
else if ( y % 100 == 0 && y % 400 > 0) maxDays = 28;
else maxDays = 29;
}
if (d>maxDays || d<1){//判断日期是否正确
return false;
}
else {
return true;
}
}
}
// 时间确认 isTime()
// 返回值:正确 true, 错误 false
function isTime (theStr) {
var tArray=theStr.match(regTime);
if(tArray==null) return false;
var h=tArray[1];
var m=tArray[2];
var s=tArray[3];
if( s>59 || s<0) return false;
if(m>59 || m<0) return false;
if(h>23||h<0) return false;
return true;
}
//为1位日期数字加0
function FillNumber(num)
{
switch (num)
{
case 0 :
ReturnNum="00";
break;
case 1 :
ReturnNum="01";
break;
case 2 :
ReturnNum="02";
break;
case 3 :
ReturnNum="03";
break;
case 4 :
ReturnNum="04";
break;
case 5 :
ReturnNum="05";
break;
case 6 :
ReturnNum="06";
break;
case 7 :
ReturnNum="07";
break;
case 8 :
ReturnNum="08";
break;
case 9 :
ReturnNum="09";
break;
default :
ReturnNum=num;
}
return ReturnNum;
}
//判断电话号码的合理性
//正确: True 错误: False
function isTel(str){
var flag=regTel.test(str);
if (flag) return true;
return false;
}
//时间+字符串函数
//三个参数:interval:决定往哪加:h:加在小时上,m:加在分钟上,S:加在秒钟上。
//number:决定加多少;time:时间字符串。
function timeAdd(interval,number,time){
//alert(time);
var flag=isTime(time);//判断time是否是时间字符串
if (flag){
var tArray=time.match(regTime);
var h=tArray[1];
var m=tArray[2];
var s=tArray[3];
switch (interval){
case "h":
var h=eval(number+"+"+h);
var hCarry=Math.floor(h/24);//floor:返回小于等于其数字参数的最大整数
h=FillNumber(eval(h+"-"+24+"*"+hCarry));
h=h+":"+m+":"+s;
return h;
break;
case "m":
var m=eval(m+"+"+number);
var mCarry=Math.floor(m/60);
m=FillNumber(eval(m+"-"+60+"*"+mCarry))
h=eval(h+"+"+mCarry); //加上从分钟上的进位。
var hCarry=Math.floor(h/24);
h=FillNumber(eval(h+"-"+24+"*"+hCarry));
m=h+":"+m+":"+s;
return m;
break;
case "s":
var s=eval(s+"+"+number);
var sCarry=Math.floor(s/60);
s=FillNumber(eval(s+"-"+60+"*"+sCarry)); //得到秒数
m=eval(m+"+"+sCarry); //加上秒钟进位
var mCarry=Math.floor(m/60);
m=FillNumber(eval(m+"-"+60+"*"+mCarry)); //得到分钟数
h=eval(h+"+"+mCarry); //加上从分钟上的进位。
var hCarry=Math.floor(h/24);
h=FillNumber(eval(h+"-"+24+"*"+hCarry)); //得到小时数
s=h+":"+m+":"+s; //得到最后结果
return s;
break;
default:
alert("参数错误,请认真检查");
}
}
else{
alert("时间字符串错误");
}
}
//得到字符串的长度*汉字为2个字符
function strlen(str)
{
len=0;
n=str.length;
for(i=0;i
if(str.charCodeAt(i)>255){
len+=2;
}
else{
len+=1;
}
}
return len;
}
//返回客户端的屏幕分辩率
function sizePage(){
if ((screen.width == 640) && (screen.height == 480))
size = "640 x 480";
else if ((screen.width == 800) && (screen.height == 600))
size = "800 x 600";
else if ((screen.width == 1024) && (screen.height == 768))
size = "1024 x 768";
else size = "the default 640 x 480";
//alert("经系统检测,你的屏幕分辨率为 " + size + ",你的显示器适于....");
return size;
}
[/php]
自己看吧.里边有判断输入的是不是数字的.
>对了.说明一下判断电话的那个有问题.问题在正则上.如果你有好的正则把那个正则换了就ok了.其他的暂时还没发现什么问题.嘿嘿.
>有一个问题呀,就是那个判断整数的,如果输入一位数,可以正确的判断提字母还是数字,如果输入多位数字,它就判断不出来了。
>var regInt=/^-?[1-9][d]*$/;//整数
呵呵.正则错了.换成这个.老兄你也应该去看看正则吧.很用用的.
>判断的部分如果错了.大部分都是上边正则的部分写的错了.改那个就行了.
>/^(-|+)?[1-9][d]*(.[d]+)?$/;
6 条回复
回复