2011-09-09 11 views
-1

イズバススタンスフォームの検証を使用しています。私は数字だけを必要とするフィールドをいくつか持っていますが、$、(、)、 - 、*などの記号は許可されていないので、価格や電話番号のようなフィールドにはこれらが必要です。誰もがこの問題を回避する方法やプラグインなどを知っていますか?数字のみのフィールドで使用できる記号はありますか?

UPDATE

基本的に、私は「何のテキスト許可」と許可記号と数字を言っていない機能を必要としています。

別の更新

は、テキストのみを許可するdoesntの機能を発見しました。しかし、シンボルがある場合は、テキストも許可されます。テキストを制限する方法はありますか?

jQuery.validator.addMethod(
    "symbols", 
    function(value,element){ 
    var hNum=/[^a-z\s-]/; 
    var inp=jQuery.trim(element.value).toLowerCase(); 
    if(hNum.test(inp)) { return true; 
    } 
    else return false; 
    }, 
    "Number and symbols are only allowed." 
); 

答えて

1

は彼らの文書によると、すでにの検証を行うことができますvalidation methodsがあります:decimal numbersdigits

* * phone numbers EDIT:カスタム検証を作成するようにその場合には、それが聞こえます。 addMethodというメソッドがあり、作成されたdaGrevisのようなコールバック関数を持つカスタム検証が追加されています。

例:

jQuery.validator.addMethod("isdigit", function(value, element) { 
     return /[\d()-.\$]/.test(value); 
    }, "Numbers and symbols only allowed" 
); 
+0

どれも私は必要なものを行いません。..小数と数字$記号は許可されず、電話番号には完全な番号が必要ですが、病気の電話番号は必要です。 (基本的に私はテキストが許可されていないと言うだけのものが必要です) –

+0

あなたはそれを手に入れませんか?あなたはその機能をコード化する必要があります!私の関数を使って値をチェックする(例えば)、検証が失敗した場合、何らかの理由でそれをエンドユーザに表示する(最も簡単な場合は 'alert()')! :/ – daGrevis

+0

私はbassistanceプラグインメソッドを使用して、検証を実行し、プラグイン自体を通してメッセージを表示するフィールドに接続できる新しいメソッドを作成しています。 – CAbbott

0

まあ、あなたは完全に別のアプローチを試みるかもしれません。

私の個人的なお気に入りは、HTML5の検証を使用して、すべてのブラウザで機能を変更/拡張することです。

http://ericleads.com/h5validate/

+0

これはダウン投票された理由を私は知りません。 HTML5のソリューションを検討する必要があります。 –

+0

Joelに感謝します。感謝します。私は私の将来の妥当性検証を行い、家に帰るだろうと思う。 –

2

私は、あなたが望むようにあなたはもちろん、それを適応させることができます...それのため

function is_digit(value) { 

    return String(value).search(/^\s*\d+\s*$/) != -1; 

} 

を少し機能を書きました。 :)

編集:

ここ

ある他の有用なREG-EXEファイル:/^\s*(\+|-)?\d+\s*$/

  • は整数ですか?
  • 10進数は:/^\s*(\+|-)?((\d+(\.\d+)?)|(\.\d+))\s*$/ですか?
+0

素晴らしい!しかし、私はこれをどこに置くべきですか?実際の検証スクリプトでは?自分のページに? –

+0

その関数... is_digit(value) 'を使用して、値を求めようとしました。 boolean( 'true' /' false')を返すので、 'if/else'構造では、値が桁であるかどうかを簡単にチェックすることができます。また、指定された要素内の入力された文字をチェックすることができ、その関数が 'false'を返す場合は' input'/'textarea /何であれ追加することはできません。 P.S.ちょうどサーバー側でもチェックすることを忘れないでください!:) – daGrevis

+0

私は残念ですが、私はまだ少し混乱しています(jquery人ではありません)どこにこの機能を挿入しますか(bassistance jqueryスクリプト自体で)?どこから呼び出すのですか? –

関連する問題