2013-11-23 2 views
1

я в настоящее время работаю на почтовый индекс проверке, на, если пользователь входит в их почтовом индексе, функция проверяет, 3 массивовПроверьте значение доступно в 3-х массивах

  • , если почтовый индекс клиента начинается с 4-х букв/номера, он проверяет массив 1
  • , если почтовый индекс клиента начинается с 3-х букв/цифр, он проверяет массиву 2
  • , если почтовый индекс клиента начинается с 2-х букв/цифр, он проверяет массив 3

Эта функция также преобразует ввод пользователей в верхний регистр, так как все значения массива имеют верхний регистр.

Задача: Функция работала с 2 массивами, проверяемыми командой elseif. Однако, когда я представил 3 массива, он перестает работать. Кто-нибудь знает, что я сделал не так? пожалуйста, обратитесь к jsfiddle: http://jsfiddle.net/24Mqw/6/ для полного кода

var postcodemain = ['TR21', 'TR22', 'TR23', 'TR24', 'TR25', 'PO30', 'PO31', 'PO32', 'PO33', 'PO34', 'PO35', 'PO36', 'PO37', 'PO38', 'PO39', 'PO40', 'PO41', 'AB30', 'AB31', 'AB33', 'AB34', 'AB35', 'AB36', 'AB37']; 

var postcodesecond = ['IM1', 'IM2', 'IM3', 'IM4', 'IM5', 'IM6', 'IM7', 'IM8', 'IM9', 'G83', 'IV1', 'IV2', 'IV3', 'IV4', 'IV5', 'IV6', 'IV7', 'IV8', 'IV9', 'KW1', 'KW2', 'KW3', 'KW5', 'KW6', 'KW7', 'KW8', 'KW9', 'HS1', 'HS2', 'HS3', 'HS4', 'HS5', 'HS6', 'HS7', 'HS8', 'HS9', 'ZE1', 'ZE2', 'ZE3']; 

var postcodethird = ['BT', 'GY', 'JE']; 

var mainfirst = $(this).val().toUpperCase().substring(0, 3); 
var mainsecond = $(this).val().toUpperCase().substring(0, 2); 
var mainthird = $(this).val().toUpperCase().substring(0, 1); 
+1

Да, отрезая слишком много символов -> Http: // jsfiddle.net/24Mqw/7/ – adeneo

ответ

3

substring() исключает Конечное положение

var value = this.value.toUpperCase(); 
    var mainfirst = value.substring(0, 4); 
    var mainsecond = value.substring(0, 3); 
    var mainthird = value.substring(0, 2); 

Демо: Fiddle

Смежные вопросы