先给你一个判断非数字的函数:
function BASEisNotNum(theNum){
if (BASEtrim(theNum)=="")
return true;
for(var i=0;i<theNum.length;i++){
oneNum=theNum.substring(i,i+1);
if (oneNum<"0" || oneNum>"9")
return true;
}
return false;
}//判断整数与否
function BASEisNotInt(theInt){
theInt=BASEtrim(theInt);
if ((theInt.length>1 && theInt.substring(0,1)=="0") || BASEisNotNum(theInt)){
return true;
}
return false;
}//判断是否为浮点数
function BASEisNotFloat(theFloat){ len=theFloat.length;
dotNum=0;
if (len==0)
return true;
for(var i=0;i<len;i++){
oneNum=theFloat.substring(i,i+1);
if (oneNum==".")
dotNum++;
if ( ((oneNum<"0" || oneNum>"9") && oneNum!=".") || dotNum>1)
return true;
}
if (len>1 && theFloat.substring(0,1)=="0"){
if (theFloat.substring(1,2)!=".")
return true;
}
return false;
}
function BASEisNotNum(theNum){
if (BASEtrim(theNum)=="")
return true;
for(var i=0;i<theNum.length;i++){
oneNum=theNum.substring(i,i+1);
if (oneNum<"0" || oneNum>"9")
return true;
}
return false;
}//判断整数与否
function BASEisNotInt(theInt){
theInt=BASEtrim(theInt);
if ((theInt.length>1 && theInt.substring(0,1)=="0") || BASEisNotNum(theInt)){
return true;
}
return false;
}//判断是否为浮点数
function BASEisNotFloat(theFloat){ len=theFloat.length;
dotNum=0;
if (len==0)
return true;
for(var i=0;i<len;i++){
oneNum=theFloat.substring(i,i+1);
if (oneNum==".")
dotNum++;
if ( ((oneNum<"0" || oneNum>"9") && oneNum!=".") || dotNum>1)
return true;
}
if (len>1 && theFloat.substring(0,1)=="0"){
if (theFloat.substring(1,2)!=".")
return true;
}
return false;
}
{
var number="0123456789";
for(i=0;i<num.length;i++)
{
for(j=0;j<10;j++)
if (num.charAt(i)==number.charAt(j)) break;
if (j>=10) return (false);
}
return (true);
}
<script language=javascript>
opener.location=opener.location;opener.focus();
</script>
如果要关闭弹出的窗口,在上面opener.focus();后加上:
self.close();
function getselect()
{ var i
i = document.formname.test.selectedIndex
temp = document.formname.test.options[i].text
return temp
}其中formname为下拉框所在的表单名,test为下拉框名。函数的返回值就是当前所选的值。
3.opener.reload();
isNaN(strvalue),strvalue就是你要判断的具体值.如果返回true,则为非数字.
也可以用下面的函数:
String.prototype.Trim = function(){
return this.replace(/(^\s*)|(\s*$)/g, "");
}
function isNumeric(str){
var tmp=str.Trim()
if(tmp.length==0) return false
var re=/^(\d+).?(\d*)/
re.exec(tmp)
Integer=RegExp.$1
fraction=RegExp.$2.Trim()
if(fraction.length==0){
if(Integer==tmp){
return true
}
}
else{
if((Integer+"."+fraction)==tmp){
return true
}
}
return false
}
里调用.不过我觉得最好的方法是用datepicker控件选取时间,这样就省去了验证的麻烦.
<script language=javascript>
window.opener.location='test.asp';
</script>
vbscript中本身就有函数可以判断是否是日期,怎么在javascript中调用vbscript写的函数?难道javascript中就没有现成的函数可以判断是否是数字/日期的函数么?谁能告知哪儿有 最新的 javascript 手册?要比较详细的
<script language="VbScript">
Function ValidDate(str)
ValidDate = IsDate(str)
End Function
</script><script language="JavaScript">
var str1 = "2001-02-28", str2 = "2001-02-29";
alert(str1 + " is valid date? " + ValidDate(str1));
alert(str2 + " is valid date? " + ValidDate(str2));
</script>