2012-01-01 18 views
1

次のコードを使用して、ユーザー入力が小文字かどうかを確認します。 aからzまでの文字を許可します。他の文字は使用できません。小文字のみを許可する

のJavaScriptファイル:

var pat = /[a-z]/; 

function checkname() 
{ 
    var t = $("input[name='user_name']").val(); 

    if(pat.test(t) == false) 
    { 
    alert('Only lowercase characters allowed'); 
    } 
} 
//... other functions 

しかし、これDONOTはすべての時間を働いています。 industrialSと入力すると、大文字の「S」が見つかりません。

私も試しました:/^[a-z]$//[a-z]+/です。しかし、働いていない。

私を助けてください。

+2

正規表現を学ぶスタート: '/^[AZ] + $ /'例:http://jsfiddle.net/5wt9S/1/ – noob

+1

あなたはまた、単に小文字に検討する必要がありますwhユーザーが小文字で入力するのではなく、それを入力して使用してもかまいません。彼らはそれが起こるのを見るように彼らがタイプしている間あなたはそれを生きてもすることができます。エラーメッセージを表示するよりも、それらを教え、表示し、修正することが便利です。 – jfriend00

答えて

6

正規表現では、文字列にのいずれかの文字があるかどうかを確認するだけで、小文字の文字がになります。これを試してみてください:

var pat = /^[a-z]+$/; 

このパターンは、1つ以上の小文字のアルファベット文字を含む文字列と一致し、他の文字は一致しません。最初の「^」と最後の「$」は、テストされた文字列の最初と最後に一致するアンカーです。

+0

ありがとうございます。私は今それを理解する。 –

-1

あなたの正規表現は次のようになります。/^[AZ] + $/

+0

ありがとうございます。わかった。 –

-1

あなたが望むすべてのだけではなく、ユーザーのを伝えるの/彼が何か間違ったことをやっています、私はそれを修正するだろう、小文字であるので:

function checkname() { 
    var disallowed = /[^a-z]/gi; // g=global , i=case-insensitive 
    if (this.value == disallowed) { 
     //delete disallowed characters 
     this.value = this.value.replace(disallowed,''); 
     alert('Only lowercase letters allowed'); 
     //instead of an alert, i would use a less intrusive fadeIn() message 
    } 
    this.value = this.value.toLowerCase(); 
} 
0

if((/[a-z]/.test(email))==true){//allow the small characters}

関連する問題