日期:2014-05-16  浏览次数:20359 次

下面js代码求助!
本帖最后由 Henry_YQH 于 2012-12-03 22:49:31 编辑
1:
CheckUtil.isPhone = function(str) {
 var patrn =/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/;
 var msgPhone=jQuery(":input[id$='msgPhone']").val();
 if(patrn.test(str)){
 return true;
 }else{
 alert(msgPhone);
 return false;
 }
 return false;
};
下面这段js代码是判断是不是电话号码的,大家觉得有没有问题?
为什么在if、else之后还加一个 return false;这样的话,不就是不管if和else输出什么,最后都返回false了吗?我说的对不对,java中好像是这样的,我对js不是很了解。。


2:
有一个数组字符串:s="2,3,4,8,8,9",还有t1="2"  t2="4"   t3 = "10"
判断字符串t1、t2、t3、在不在字符串s中,并且把id为t1、t2、t3的commendLink的属性设置为false,这段js方法对不对,如果不对,请高手亮出你们的代码,谢谢了,项目需要。
function isDisabled(){
var s="2,3,4,8,8,9"
var t1="2"  
        var t2="4"  
        var t3 = "10"
if(s.indexOf(t1) > -1) {
jQuery("a[id$='link1']").attr("disabled","false");
}else{
jQuery("a[id$='link1']").attr("disabled","true");
}
if(s.indexOf(t2) > -1) {
jQuery("a[id$='link2']").attr("disabled","false");
}else{
jQuery("a[id$='link2']").attr("disabled","true");
}
if(s.indexOf(t3) > -1) {
jQuery("a[id$='link3']").attr("disabled","false");
}
else{
jQuery("a[id$='link3']").attr("disabled","true");
}
}

为什么我每次都只得到第一个判断呢,并且第一个它判断为disable="true",郁闷死了。
我感觉上面的代码有问题,谁帮小弟解答一下,谢谢了。就这点分了,不好意思了。。
------解决方案--------------------
第一个问题:我觉得你对return 没有了解,return true了之后 还会走 最底下的return false吗?

第二个问题:我没明白你的意思,但是我看见你写了那么多if 。给你整理了下

function isDisabled(){

var s="2,3,4,8,8,9";
var t1="2";
var t2="4";
var t3 = "10";
var arrayList=s.split(",");
var arr=[t1,t2,t3];

for(var i=0;i<arr.length;i++){
for(var j = 0;j<arrayList.length; j++){
if(arr[i]==arrayList[j]){
jQuery("a[id$='link"+(parseInt(i)+1)+"']").attr("disabled","false");
}
}
}
}
  也没运行过,不知道对不对。是不是你想要的结果。
------解决方案--------------------
第一个问题:return了之后就不执行该方法的下面的程序了;
第二个问题:
function isDisabled() {
var s = "2,3,4,8,8,9";
var t1 = "2";
var t2 = "4";
var t3 = "10";
var arr = [t1, t2, t3];
for (var i = 0; i < arr.length; i++) {
if (s.indexOf(arr[i]) > 0) {
// 存在
jQuery("a[id$='link" + arr[i] + "']").attr("disabled", "false");
} else {
// 不存在
jQuery("a[id$='link" + arr[i] + "']").attr("disabled", "true");
}
}
}