2012-05-03 7 views
0

を可能にし、私は私の現在のスクリプトがjQueryの検証プラグインテキストのみ

<script type="text/javascript" charset="utf-8"> 
$(document).ready(function($) { 
$("#answer55937X1X3othertext").mask("aaaaaaaaaaaaaaaaaaaaaaaaa",{ placeholder:"#" }); 
}); 
</script> 

問題で、次のjQueryプラグイン

http://digitalbush.com/projects/masked-input-plugin/

を使用しています:

しかし、実際に私が希望ユーザーが任意の数の文字のみのテキストを入力できるようにします。例:単語、フレーズ、または文章。だから私は正規表現が良いフィットであると考えました。

質問1:

このプラグインで正規表現を実装する方法任意のアイデア?そうでない場合は、代替案を提案してください。正規表現コードも含めてください。

質問2:(好奇心のうち)

私は、ウェブサイトを見てなかったが、正規表現に関連する何かを見つけることができませんでした。正規表現はプラグインにデフォルトで含まれていますか?私はその機能が含まれているかどうかをチェックする方法を知らない。事前に

おかげで

更新:

私は、スクリプトの下にしようとしたが、それは動作しません。

$('question'+QQ' input.text').bind('keypress', function (event) { 
var regex = new RegExp("^[a-zA-Z]+$"); 
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode); 
if (!regex.test(key)) { 
    event.preventDefault(); 
    return false; 
} 
    }); 
+0

なぜこのプラグインが正規表現をサポートすると思いますか? – Bergi

答えて

1

私が知る限り、「マスクされた入力」を使用することはできませんが、必要な要件をサポートしていません。

「固定長」を有する入力、例えば、

an input with 8 length: 010-55555 (phone numbers) 
an input with 8 or 11 length: 086-010-55555 (another phone numbers) 

それがこれをサポートしていません:

this is a sentence that doesn't have fixed words. 

を、それは最初にすべてのプレースホルダ「#」と入力を〜を果たすがあるため。あなたが入力を検証したい場合は

、本当に簡単な検証や他のjqueryの検証フレームワークを使用して、独自にカスタマイズした機能を書き、あるいはあなた自身:

<input id="your_field" /> 

<script> 
$("#your_field").blur(function(){ 
    // your implementation here.... 
    $(this).val().match(...) 
}) 
</script> 
+0

ありがとうございます。この状況の代替案はありますか? – user1213055

+0

Really Simple Validation(http://www.benjaminkeen.com/software/rsv/)またはjquery validate(http://bassistance.de/jquery-plugins/jquery-plugin-validation/)を使用してください。 –

+0

提案していただきありがとうございます。しかし、このプラグインで正規表現を実装する方法は?あなたは私に例を与えてくれますか?私は今ドキュメンテーションを見ています。 – user1213055

0

は、なぜあなたはマスクのプラグインを使用する必要がありますあなたが望むものを何でも入力できるようにしたいのですか?

さらに、ページを見ると、プラグインが正規表現を受け入れるように見えません(私が間違っていると私を修正してください)。たとえば、英数字を表すには*文字を使用します。正規表現では、*文字には特別な意味があります。

0

こんにちは!私はちょうど20分ほどかかったので、jqueryプラグインを設計して、あなたと他の多くの人がこの入力マスキングのために実装できると期待しています。これは非常に迅速な作業であり、追加することを願っていますが、ニーズが満たされているかどうかをお知らせください。

https://github.com/bmoyles0117/jQuery-SimpleMask

以下のコードを使用してそれを実装しようとすること自由に感じて下さいは、「」アルファベット順の略で、「#」はスペースを含む英数字を意味し、「9」はもちろんの数字を表します。私がやったことは、初期設定にフラグを付けて、ピリオド、コンマ、またはダッシュを許可するかどうかを指定することです。私は本当にこれがあなたの必要を満たすことを願っています!

<script src="jquery.simplemask.js"></script> 
<script type="text/javascript"> 
    $(function() { 
     $('#test123').simpleMask('aaaaa-####999', { 
      allow_periods : true, 
      allow_commas : true, 
      allow_dashes : true 
     }); 
    }); 
</script> 
<input type="text" id="test123" /> 
+0

プレースホルダ文字を追加したい場合は、まだ達成されていない文字については、私に知らせてください、私は喜んでそうします! – Bryan

+0

ブライアンはプラグインをありがとう。議論からわかるように、実際に入力マスクは必要ありません。単純なバリデータが必要です。あなたが偉大になるバリデーターを作ることができれば – user1213055