2016-04-09 21 views
0

Form için bir USER ID'yi doğrulamaya çalışıyorum. - 1 ila 4 olmalıdırKULLANICI Kimliğini doğrulamaya çalışılıyor

3. Kural Pozisyon()

Kural 1. 10- pozisyonları

Kural 2. Pozisyon 5, bir tire olmalıdır mevcut olmalıdır: aşağıdaki gibi belirli durum testleridir sayısal değerlere

kural 4. Pozisyon 6 ila 10 basamaklı sayı olmalıdır iki kural (# 5 ve # 6) kural 4 vasıtasıyla kural 1 doğrulama

kural 5. geçtiyse sadece kontrol edilmelidir aşağıdaki Uyuşmuş toplamı tire (-) solundaki ers sıfırdan büyük olmalı ve tire (-) sağındaki sayıların toplamı sıfırdan büyük olmalıdır.

Kural # 6 Sağdaki sayıların toplamı tire (-) olmalıdır (çift artı 2) tire solundaki sayıların toplamı (-)

farklı hata koşulları için farklı bir mesaj vermesi gerekir

denemek ve Bu doğrulama işlemini gerçekleştirirseniz, form uygun hata mesajını görüntülemesi gerektiğinde kendisini gösterir ve neden olduğuna emin değilim.

JavaScript işlevi:

function validateUserId() { 
    var value = document.getElementById("userId").value; 
    if (value.length != 10) { 
    errMessages += "User ID all 10 positions must be present"; 
return errMessages; 
    } 
    if (value[4] != "-") { 
errMessages +="User ID Position 5 must be a hyphen (-)" ; 
return errMessages; 
} 
    for (var i = 0; i < 4; i++) { 
    if (isNaN(value[i])) { 
    errMessages += "User ID Position " + i + " must be a number" ; 
    return errMessages; 
    } 
} 
for (i = 5; i < 10; i++) { 
    if (isNaN(value[i])) { 
    errMessages += "User ID Position " + i + " must be a number" ; 
    } 
} 
var lowsum = 0; 
for (i = 0; i < 4; i++) { 
lowsum += parseInt(value[i]); 
} 
if (lowsum <= 0) { 
errMessages += "User ID Sum of the first 4 numbers must be greater than 0" ; 
return errMessages; 
} 
var highsum = 0; 
for (i = 5; i < 10; i++) { 
highsum += parseInt(value[i]); 
    } 
    if (highsum <= 0) { 
    errMessages += "User ID Sum of the last 5 numbers must be greater than 0" ; 
return errMessages; 
} 
    if (highsum != (lowsum * 2) + 2) { 
errMessages += "User ID sum of the last 5 numbers must be the double plus of of the first 4 numbers" ; 
return errMessages; 
} 
return errMessages; 
} 

HTML:

<label class="label">Client ID </label>  
     <input type="text" name="userId" id="userId" size="10" maxlength="10" > 
+0

nasıl validateUserId işlevini aradığınız: kodunuzu bu şekilde değiştirmek? – moopet

cevap

0

Bu mükemmel iyi görünüyor. Ancak, yalnızca false numaralı return'a ihtiyacınız vardır.

function validateUserId() { 
 
    var value = document.getElementById("userId").value; 
 
    if (value.length != 10) { 
 
    errMessages += "User ID all 10 positions must be present"; 
 
    alert(errMessages); 
 
    return false; 
 
    } 
 
    if (value[4] != "-") { 
 
    errMessages +="User ID Position 5 must be a hyphen (-)" ; 
 
    alert(errMessages); 
 
    return false; 
 
    } 
 
    for (var i = 0; i < 4; i++) { 
 
    if (isNaN(value[i])) { 
 
     errMessages += "User ID Position " + i + " must be a number" ; 
 
     alert(errMessages); 
 
     return false; 
 
    } 
 
    } 
 
    for (i = 5; i < 10; i++) { 
 
    if (isNaN(value[i])) { 
 
     errMessages += "User ID Position " + i + " must be a number" ; 
 
    } 
 
    } 
 
    var lowsum = 0; 
 
    for (i = 0; i < 4; i++) { 
 
    lowsum += parseInt(value[i]); 
 
    } 
 
    if (lowsum <= 0) { 
 
    errMessages += "User ID Sum of the first 4 numbers must be greater than 0" ; 
 
    alert(errMessages); 
 
    return false; 
 
    } 
 
    var highsum = 0; 
 
    for (i = 5; i < 10; i++) { 
 
    highsum += parseInt(value[i]); 
 
    } 
 
    if (highsum <= 0) { 
 
    errMessages += "User ID Sum of the last 5 numbers must be greater than 0" ; 
 
    alert(errMessages); 
 
    return false; 
 
    } 
 
    if (highsum != (lowsum * 2) + 2) { 
 
    errMessages += "User ID sum of the last 5 numbers must be the double plus of of the first 4 numbers" ; 
 
    alert(errMessages); 
 
    return false; 
 
    } 
 
    alert(errMessages); 
 
}
<form onsubmit="return validateUserId()"> 
 
    <input id="userId" /> 
 
    <input type="submit" /> 
 
</form>

İlgili konular