1

Selenium ID を使用してフォームを検証しようとしていますが、名前が渡されません。数字ではなく文字の名のみを受け入れる必要があります。以下はコードです:

function validateFrName(){

        if (frName.val() == "1"){
         frName.addClass("error");
        $("#firstNameErrorMsg").text("First name can only contain letters.");
        $("#firstNameErrorMsg").addClass("error");
        return false;

    } else if (frName.val().length <3){
        frName.addClass("error");
        $("#firstNameErrorMsg").text("Please enter your first name.");
        $("#firstNameErrorMsg").addClass("error");
        return false;
    }else{
        frName.removeClass("error");
        $("#firstNameErrorMsg").text("OK");
        $("#firstNameErrorMsg").removeClass("error");
        return true;
    }
}
4

2 に答える 2

0

あなたの質問を正しく理解できませんでした。この「frName.val()」を介して名を取得した場合、なぜ frName.val().substring(0,2)= 1 または 2 または 3 などを確認できないのでしょうか。確認しなかった場合は、詳細を教えてください。これで取得..

こちらも是非お試しください

function valid()
{
var k=true;
for(i=0;i<frName.val().length-1;i++)
{
if ( frName.val().substring(i,i+1)=0 ||   frName.val().substring(i,i+1)=1)
{
k=false;
}
}
return k;
}
于 2012-10-12T16:39:27.620 に答える
0

このjsFiddle http://jsfiddle.net/vHzKn/1/を参照してください

問題は、frName を取得する方法にあります。

firstName という変数を追加し、それに frName の ID を持つテキスト ボックスの値を割り当てました。

var firstName = $("#frName").val();

次に、firstName 変数に基づいて検証します。

jsfiddle のコード サンプルでは、​​すべての数字などが検出されないことに注意してください。これは別の質問です。そのためには、おそらく JavaScript 検証ライブラリを使用する必要があります。

編集:入力文字列に数値が含まれているかどうかを確認して、文字列に数値が存在するかどうかを判断する正規表現を見つけます。

jquery の例を含むこの非常に単純な jsfiddle を参照してください: http://jsfiddle.net/XCYL7/

于 2012-10-12T19:16:28.237 に答える