function equals(a ,b){
return a==b;
//return a != b
//或者return a<b (a<=b)
//或者return a>b (a>=b)
}
重点是上的第一句话:比较符返回的都是Boolean值,在Javascript中对象节点inputvalue返回值为String,
你上面的写法就变为了2个String进行比较。而不是2个Int 或Float值进行比较,结果不正确。
正确的是,将String 转为数字,或浮点在进行比较。
Js有2个转换的,一个是parseInt 将Str转为 整型。还有一个是parseFloat 将str转为 浮点。
看看你输入的数字是否带小数。如果带小数的话使用parseFloat函数。
var bottomlimit = parseFloat(documentgetElementById("bottomlimit2")value);
var toplimit = parseFloat(documentgetElementById("toplimit2")value);js的字符串按字符在unicode中的码位来比较大小
"A"的码位值65
"a" 的码位值97
"b"的码位值为98
"你"的码位值为20320
后者比前者大sort 方法
返回一个元素已经进行了排序的 Array 对象。
arrayobjsort(sortfunction)
参数
arrayObj
必选项。任意 Array 对象。
sortFunction
可选项。是用来确定元素顺序的函数的名称。如果这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列。
说明
sort 方法将 Array 对象进行适当的排序;在执行过程中并不会创建新的 Array 对象。
如果为 sortfunction 参数提供了一个函数,那么该函数必须返回下列值之一:
负值,如果所传递的第一个参数比第二个参数小。
零,如果两个参数相等。
正值,如果第一个参数比第二个参数大。
示例
下面这个例子说明了 sort 方法的用法:
function SortDemo(){
var a, l; // 声明变量。
a = new Array("X" ,"y" ,"d", "Z", "v","m","r");
l = asort(); // 排序数组。
return(l); // 返回排序的数组。
}function go(){
var a = "3111";
var b = "2222";
var c = asubstring(0,1);
var d = bsubstring(0,1);
alert(c+" "+d);
if(c>d){
alert("c大");
}else if(c==d){
alert("一样大");
}else{
alert("d大");
}
}如果要在客户端验证的话,可以这样作,把bbb取出来,赋值给一个隐藏控件,然后在JS里再取出来~
模拟一下:
<%
dim bbb
bbb=10
responsewrite "<input type='hidden' name='bbb' id='b' value='"&bbb&"'>"
%>
<script language="javascript">
function check()
{
var num=documentgetElementById("a")value
if(isNaN(num)==true || numindexOf("")!=-1)
{
alert("请输入数字!");
num = numsubstr(0,(numlength-1));
documentgetElementById("a")value=num;
}
}
function ccc()
{
var a=eval(documentgetElementById("a")value);
var b=eval(documentgetElementById("b")value);
if(a>b)
{
alert("aaa大于bbb!");
return false;
}
}
</script>
<form name="form" method="post" action="1asp" onSubmit="javascript:return ccc();">
<input name="aaa" id="a" onkeyup="check()">
<input type="Submit" name="Submit" value="提交">
</form>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)