输入一个或多个车牌号码,多个以逗号分割开,再输入想查询的日期(数字,周几),输出该日期限行的车牌号. 车牌号码有以下要求,如:AD123,12101,车牌号不能全是字母。
* 现在对尾号进行限制:尾号为1,9则周一限行,尾号为2,8则周二限行,尾号为3,7则周三限行 尾号为4,6则周四限行,尾号为5,0的周五限行,周六周日不限行。
*尾号不为数字,则看第4位是否是数字,如果第4位还不是 数字,继续看第3位,以此下去,直到找到有数字的时候止.
* 由于用户不熟悉系统,有可能输入错误车牌, 如车牌不满5位或大于5位、车牌全是字母、没用逗号分割等,如有输入错误情况 一律返回error
* 如输入没有问题则返回限行的车牌号,如没有,刚返回none
输入
一个或多个车牌号码
周几
输出
限行的车牌号,如没有限行的则返回none
样例输入
Y008U,T8899
2
样例输出
Y008U
题目来源:牛客网
<body>
<input id="carNoList" type="text" placeholder="请输入要查询的车牌号, 多个车牌请用逗号隔开">
<input id="day" type="text" placeholder="请输入你要查询哪一天" />
<button onclick="fn()">查询</button>
</body>
<script type="text/javascript">
function fn(){
//输入的车牌号
var str = document.getElementById("carNoList").value.trim();
//星期几
var num = document.getElementById("day").value;
var nums = str.split(",");
//判断输入是否合法
var isValid = nums.some(function(item){
//输入其它非法内容
var s1= /[^A-Z0-9]/.test(item)
//长度不是5
var s2 = item.length!=5
//全是字母
var s3 = /[A-Z]{5}/.test(item)
//如果出现任何上述情况, 则提示错误
return s1 || s2 || s3;
})
if(isValid) alert("输入有误");
console.log(
nums.filter(function(item){
//获得车辆数字尾号
var lastnum = item.match(/\d/g).pop();
//若尾号等于 num 或 10-num , 则限行, num必须小于5, 因为周末不限行
return lastnum == num || lastnum == (10-num) && num < 6
})
)
}
</script>