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

急求一参数校验JS
文本框输入参数格式为   xxx&xxx&xxx,其中xxx为101或201-220,输入参数最小长度为xxx,最大长度无限制   xxx&xxx&xxx&xxx&xxx...如果输入xxx后面不能带&,程序该怎么写,请高手指导!!!

------解决方案--------------------
function check(val){
if(val.match(/^([1-2][0-2][0-9]&)*([1-2][0-2][0-9])$/)==null) return false;
var arr = val.split( "& ");
for(var i=0;i <arr.length;i++){
if(arr[i]!=101 && ((arr[i] <201 || arr[i]> 220))) return false;
}
return true;
}
var val = "101&202&202&204&202&202&101 ";
var b = check(val);
if (b) alert( "匹配 ");
else alert( "不匹配 ");

------解决方案--------------------
<script language= "javascript ">
function checkStr(str)
{
var reg=/^((101)|(2[01]\d)|(220))(&((101)|(2[01]\d)|(220)))*$/;
if(reg.test(str))
return true;
else
return false;
}
var str1= "101 ";
var str2= "101& ";
var str3= "220 ";
var str4= "101&201&210&220& "
alert(checkStr(str4));
</script>
------解决方案--------------------
<script language= "javascript ">
function checkStr(str)
{
var reg=/^((101)|(2[01]\d)|(220))(&((101)|(2[01]\d)|(220)))*$/;
if(reg.test(str))
return true;
else
return false;
}
var str1= "101 ";
var str2= "101& ";
var str3= "220 ";
var str4= "101&201&210&220& "
alert(checkStr(str4));
</script>
------解决方案--------------------
不会正则,收藏了