2016-05-05 18 views
0

javascriptを使用してマイナスと10進数を許可するnoptの正規表現が必要です。コードはありますが、動作していません。誰でも助けてください。javascriptでマイナスと10進数とゼロを許可しない正規表現

$("#hinizio").keyup(function() { 
var match = timeRegex.test($(this).val()); 
alert(match ? 'matches' : 'does not match'); 
}); 

http://jsfiddle.net/9CVCC/45/

+0

あなたは正確に何を試そうとしているのかを明確にすることはできますか?あなたの現在の式 '/ ^([1-9a-zA-Z] [0-9a-zA-Z])* $/gi'はマイナスの記号ではないので、入出力の例は役に立ちます。 0または小数点。 –

+0

しかし、1から9のような1桁の数字は許可されていません。また、z..plsタイプ5のバンドはそれをチェックします –

+0

あなたの式は、含まれている両方の文字グループ[[...] [ ...] '。これは、式の先頭に '(?!0)'を使用して明示的に '0'の文字列を許可しないで、次に[my response below](http: //stackoverflow.com/a/37051953/557445)。 –

答えて

0

確かに!

document.getElementById(target).value = newVal.replace(/[^0-9]/g, ""); 

上記のあなたがどんな特殊文字を維持したい場合は、通常の数字以外のすべてを削除式にそれらを追加します。

未加工のJSの中で最も優れたものです。このセレクタを現在の作業値で置き換えてください。

$(this).val(); 
1

英数字を許可する(ただし0)あなたはマイナス記号のない任意の数の英数字を可能にしたい場合は

-、小数点.または文字列としてちょうどゼロ、あなたが使用できます。

/^(?!0)[\da-zA-Z]+$/i 

明示的に1つ以上の英数字を許可しますが、明示的に0を受け入れません。あなたはsee an example of it hereです。

数字のみを許可する(ただし0)

あなたがしたい場合にのみ許可番号ではなく、0、あなたが使用できます。

あなたは see an example of this option hereでき
/^(?!0)\d+$/i 

+0

これは1から9までしか許していませんが、9より大きい値を許可しません。 –

+0

式内の 'g'フラグを削除してみてください('/^(?! 0)\ d + $ /私は –

+0

ですが、今では文字は許可されていません.klやtyのようにしてください –

関連する問題