2012-04-23 4 views
-1

私の問題は、私のフォームのhtml5パターン属性で動作するjavascriptコードを作成したいということです。JavaScriptを使用したHTML5パターン

パターン自体は、最初の文字が大文字で、最大12文字でなければならないことを示しています。これは私がこれまで持っていたものです。 Juhanaのおかげで、より良いパターンコードが得られました。

^[A-Z][A-Za-z]{0,11}$ 

ジャバスクリプトを瞬時に人がフィールドに自分の入力でエラーを作り、それと間違っている正確に何を指定していることを画面上に伝えることになっています。私はパターンルールと一緒に動作させる方法を知っていないので、このコードはありません。

私はこれで1週間これで立ち往生しており、私はそれを理解できません。

ありがとうございます。

+5

を参照してください。何を試しましたか?あなたのコードはどこですか? – Joseph

+0

パターンで何をしようとしているのか分かりません。 '^ [A-Z] [A-Za-z] {0,11} $'は要件をカバーしないでしょうか? – JJJ

+0

私のパターンを修正したJuhana!私はなぜコードに他のすべてのルールを追加したのか知りません...今私は問題を抱えている唯一の事は、パターン自体に間違っているものを即座に表示するためにJavaScriptを使用しています... – shade917

答えて

0

私は現時点で見ている特定の文字列のエラーを識別する唯一の機会は次のとおりです:正規表現を分割し、文字列をループする必要があります。

あなたの正規表現はかなり簡単なので、^[A-Z]から始めて、最初のシンボルが文字を数えているかどうかを確認できます。

は、その後、あなたは次のように行く:

function check(string){ 

    var error = false, 
     position = -1; 

    loop : for(i=1;i<string.length;i++){ 
     var res = string.substring(i,i+1).match(/[A-Za-z]/); 
     if(!res){ 
      position = i+1; 
      error = true; 
      break loop; 
     } 
    } 
    return {'error':error,'position':position}; 
} 


var check = check("aasfcd"); 

if (check.error){ 
    document.write("Error occured on position: "+check.position); 
}else{ 
    document.write("Your string is okay"); 
} 

​ 

コードが自身のために語らせるexample fiddle

関連する問題