js程序问题,求解答
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js程序问题,求解答相关的知识,希望对你有一定的参考价值。
下面有两段格式化字符串的程序。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
function formmatNO(str,len)
var strlen=str.length;
for(i=0;i<len-strlen;i++)
str="0"+str;
return str;
</script>
<script type="text/javascript">
function deal()
if(form1.str.value=="")
alert("请输入要格式化的数字;");
form1.str.focus();
return false;
if(isNaN(form1.str.value))
alert("您输入的数字不正确;");
form1.str.focus();
return false;
if(form1.len.value=="")
alert("请输入要格式化后的长度;");
form1.len.focus();
return false;
if(isNaN(form1.len.value))
alert("您输入的格式化的长度不正确;");
form1.len.focus();
return false;
form1.res.value=formmatNO(form1.str.value,form1.len.value)
</script>
</head>
<body>
<form name="form1" action="" method="post">
<table width="393" border="1">
<tr>
<td width="168">输入要格式化的数字:</td>
<td width="209"><input type="text" name="str" value=""></td>
</tr>
<tr>
<td>输入格式化后的长度:</td>
<td><input type="text" name="len" value=""></td>
</tr>
<tr>
<td>格式化后的数字:</td>
<td><input type="text" name="res" value=""></td>
</tr>
<tr>
<td><input type="button" value="转换" class="btn_1" onclick="deal()"></td>
<td><input type="button" value="刷新" class="btn_2"onclick="window.location.reload()"></td>
</tr>
</table>
</form>
</body>
但如果将里面的formmatNO()函数修改成下面那样,单独运行,就没有被格式化,这是为什么?
<script type="text/javascript">
function formmatNO(str,len)
var strlen=str.length;
for(i=0;i<len-strlen;i++)
str="0"+str;
document.write(str);
formmatNO(4,5)
</script>
formmatNO(4,5)中4是整数,不是字符串,str.length是undefined,导致for循环没有被执行。改成formmatNO("4",5);就可以了追问
我也是刚刚才想到的,原程序里面form1.len.value==""都是字符串,就算传入formmatNO("4","5");也是可以的!
参考技术A str你写的应该是一个数组,但是你传入的是一个数字。追问那这个要怎么传入值,才能显示格式化的结果?
追答给他一个数组看一看
追问不可能,这个怎么传数组呢!
追答str你都用length属性了!!!他不是数组么?!!
追问length获取他的长度
追答length是属性,length()才是方法。你可以去看看array与string对于length的区别
参考技术B 那么长的代码还真的懒得看。这个是有什么问题吗?java开发遇到一个js一个时间格式问题求解答
后端传来一个字符串 比如 “2012-07-03 12:08:29” 时间格式 通过js获得
前段js要获得当前时间 去减去“2012-07-03 12:08:29”
得到的结果 判断是不是大于10分钟
要怎么写 求答案
<!--
// 系统时间
var sysDate = new Date();
// 参数时间,-替换成/,传递字符串构造日期
var paraDate = new Date("2012-07-03 19:08:29".replace(/-/g,"/"));
// 两个日期相差的分钟数,/1000得到相差的秒数,/60得到分钟数
var mins = (sysDate - paraDate)/1000/60;
// 显示相差分钟数
alert(mins)
//-->
</SCRIPT>追问
结果对了 谢谢 哈 不过不明白的是
("2012-07-03 19:08:29".replace(/-/g,"/"));
为什么要
replace(/-/g,"/")
不换的话不能正确转换成日期类型。
参考技术A 直接用时间截来传值,这样传的直接就是数字了,不用转 参考技术B 为什么要在前台判断呢?直接在后台判断不好吗? 参考技术C mark! 参考技术D 在后台 好做些以上是关于js程序问题,求解答的主要内容,如果未能解决你的问题,请参考以下文章