Sau đây kiểm tra mã mục được gửi qua đầu vào gồm 35 ký tự bao gồm chữ cái A-F và số 0-9, cũng như ba dấu gạch ngang ("-"). Một ví dụ về một mã hàng có giá trị sẽ là: 16FA860F-E86A457B-A28A238B-2ACA6E3DCần phải vượt qua một điều kiện Nếu chiều dài là Null
//Checks the item code to see if it meets requirements
if($("#input").val().length > 35) {
$("#errorLogContent").prepend("The item code <font color='#FFFFFF'>" + itemCode + "</font> is too long.<br>");
$("#ise").each(function(){
this.reset();
});
}
else if($("#input").val().length < 35) {
$("#errorLogContent").prepend("The item code <font color='#FFFFFF'>" + itemCode + "</font> is too short. Be sure to include dashes.<br>");
$("#ise").each(function(){
this.reset();
});
}
else if($("#input").val().match(/([^A-Fa-f0-9-]+)/gm)) {
$("#errorLogContent").prepend("The item code <font color='#FFFFFF'>" + itemCode + "</font> contains invalid characters.<br>");
$("#ise").each(function(){
this.reset();
});
}
else if($("#input").val().match(/[-]/g, "").length > 3) {
$("#errorLogContent").prepend("The item code <font color='#FFFFFF'>" + itemCode + "</font> is an invalid format. Please only use 3 dashes.<br>");
$("#ise").each(function(){
this.reset();
});
}
else if($("#input").val().match(/[-]/g, "").length < 3) {
$("#errorLogContent").prepend("The item code <font color='#FFFFFF'>" + itemCode + "</font> is an invalid format. Please include 3 dashes.<br>");
$("#ise").each(function(){
this.reset();
});
}
else {
//Rest of my code
}
Các công trình sau đây tốt, ngoại trừ nếu một mã hàng là 35 ký tự, nhưng không chứa dấu gạch ngang. Nếu nó chứa 1 hoặc 2 dấu gạch ngang, thì mã này sẽ bắt được, nhưng nếu nó chứa 0 thì nó sẽ bị treo và không làm gì cả. Tôi đã thử mọi thứ, nhưng dường như không thể tìm ra giải pháp có thể là gì. Kể từ khi chiều dài là null, nó chỉ treo. Một phần mà cần được tinh chỉnh bằng cách nào đó là:
else if($("#input").val().match(/[-]/g, "").length > 3) {
$("#errorLogContent").prepend("The item code <font color='#FFFFFF'>" + itemCode + "</font> is an invalid format. Please only use 3 dashes.<br>");
$("#ise").each(function(){
this.reset();
});
}
else if($("#input").val().match(/[-]/g, "").length < 3) {
$("#errorLogContent").prepend("The item code <font color='#FFFFFF'>" + itemCode + "</font> is an invalid format. Please include 3 dashes.<br>");
$("#ise").each(function(){
this.reset();
});
}
Tôi chắc chắn giải pháp là một cách dễ dàng, nhưng tôi stumped.
EDIT: Đây là cách tôi có mọi thứ được đặt ra cho hầu hết các phần, ngoại trừ CSS. http://jsfiddle.net/86KcG/1/
Có vẻ như bạn đang quá phức tạp điều này. Định dạng có luôn giống nhau không? Đó là, '-' luôn ở cùng vị trí? Một biểu thức chính quy sẽ thực hiện công việc ... –
điều kiện nào sẽ xảy ra nếu độ dài là 35 ?? – charlietfl
@Michael Vâng, nhưng tôi không quá lo lắng về việc kiểm tra điều đó ngay bây giờ, mặc dù nó sẽ rất tuyệt. Tôi tập trung vào việc đảm bảo luôn có ba dấu gạch ngang trong mã và nếu không có, hãy cung cấp thông báo lỗi.Nó hoạt động nếu chỉ có 1 hoặc 2, nhưng nếu không có, thì nó không làm gì cả. –