を検証しようとしています。次のように特定条件のテストは、次のとおり私は、フォーム用のユーザーIDを検証しようとしているユーザーID
ルール#1のすべての10個の位置が存在しなければならない#2ポジション5はハイフンでなければならない
ルール( - )4に
ルール#3の位置1でなければなりません10桁の数字
ルール#4の位置6は、規則4を介してルール1が検証
ルール#5を通過した場合桁 次の2つの規則(#5、#6)のみをチェックする必要があり、数値である必要があります麻痺の合計ハイフン( - )の左にある数字はゼロより大きく、ハイフン( - )の右側にある数字の合計はゼロより大きくなければなりません。
ルール番号6右の数字の合計ハイフンの( - )でなければなりません(ダブルプラス2)ハイフンの左側の数字の合計( - )
あなたは別のエラー条件のために異なるメッセージを提供しなければならない
私がしようとするとこの検証を実行すると、フォームは適切なエラーメッセージを表示する必要があるときに送信され、理由は不明です。
JavaScript関数:
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" >
どのようにあなたのvalidateUserId関数を呼び出していますか? – moopet