0

今のところ私は持っています(これはすでに完了した別の機能からのものです)

function validatelength() {
    var length = parseInt(document.getElementById("length").value, 10);
    var lengthError = document.getElementById("lengthError");
    if (isNaN(length) || length < 50 || length > 220) {
        lengthError.innerHTML = ">>Please enter your height<<";
        return false;
    } else {
        lengthError.innerHTML = "";
    }
    return true;
}

これは、フィールドに実際に人物の長さが含まれているかどうかを確認するための小さなコードです。

今度はテキストフィールド (name/pre-name/notes) これも欲しい これまでのところ

function validatetext() {
    var text = parseInt(document.getElementById("text").value, 10);
    var textError = document.getElementById("textError");
    if (isNaN(text) || text < 50 || text > 220) {
        textError.innerHTML = ">>Please enter text only<<";
        return false;
    } else {
        textError.innerHTML = "";
    }
    return true;
}

機能を完了するのを手伝ってくれる人はいますか? ありがとう ところで: jquery を使用できません。(許可されていません)

4

4 に答える 4

3

正規表現を使用して、値に文字のみが含まれていることを確認してください。

何かのようなもの

/^[A-Za-z]*$/

動作するはずです。その正規表現は言う

「AZ と az の任意の文字に一致します。0 から無制限の回数まで、行頭から行末まで」.

私はあなたが手紙以外のものを受け取りたくないという前提を置いています。

于 2012-05-24T17:59:45.200 に答える
1

textErrorそれがあなたが評価している文字列であり、テキストのみであるべきであると仮定すると、次のことをお勧めします。

if (textError.match(/\d/)){
    // there's numbers in this string
}

JS Fiddle の概念実証

参考文献:

于 2012-05-24T17:59:57.467 に答える
0
<SCRIPT LANGUAGE="JavaScript">

function checkIt(evt) {
    evt = (evt) ? evt : window.event
    var charCode = (evt.which) ? evt.which : evt.keyCode
    if (!((charCode > 64 && charCode < 91) || (charCode > 96 && charCode < 123))) {
       document.getElementById("lengthError").innerHTML = "This field accepts numbers only."
        return false
    }
    document.getElementById("lengthError").innerHTML = ""
    return true
}

</SCRIPT>

<INPUT TYPE="text" NAME="text" onKeyPress="return checkIt(event)">
于 2012-11-21T09:50:25.530 に答える
0

見てください、この実装はあなたの人生全体を助けることができます、そしてあなたが学生であれば、正規表現よりもはるかに簡単に説明できます.

//In this case I will define here the lower and upper case alphabet
//you can restrict this alphabet to match commas, spaces, or anything else, you just
//need to add them to the var.

var lowercaseLetters = "abcdefghijklmnopqrstuvwxyzáéíóúñü"; 
var uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZÁÉÍÓÚÑ";

//This function will check if an specific letter "c" exist in the previous defined
//alphabet
function isLetter (c) 
{ 
    return( ( uppercaseLetters.indexOf( c ) != -1 ) || 
            ( lowercaseLetters.indexOf( c ) != -1 ) ) 
} 


//this is the Main Method, basically their function is split the Word "s" in all chars
//and check if those chars are defined in 
//the initials vars lowercaseLetters and uppercaseLetters

function isAlphabetic (s) {
   var i; 


    for (i = 0; i < s.length; i+=1) 
    {    
        // Check that current character is letter. 
        var c = s.charAt(i); 

        if (!isLetter(c)) 
        return false; 
    } 
    return true; 
} 

さて、この関数を非常に簡単に呼び出すには、Input からテキストをキャプチャし、isAlphabetic(text) を呼び出す必要があります。ここで、text はキャプチャされたテキストです。

于 2012-05-24T18:25:24.287 に答える