2012-02-03 5 views
-1

私は一日を非常に複雑なJavaScriptを書くことに費やしました。欠落している成分は、入力フィールドに*と数字だけを持つJavaScript正規表現です。*と0-9だけを許可する入力フィールドを制限する方法はありますか?

あなたが役に立ったと思いますか?

+3

を何を試しましたか?ウェブ上には、JavaScriptの正規表現を書く方法を教える多くのサイトがあります。あなたの作業に含まれるコードを理解できない場合は、さらに問題が残ってしまうでしょう。 –

+0

あなたの試みのいくつかは役に立ちます:) –

+2

可能な複製[特定の文字のみを許可](http://stackoverflow.com/questions/2790406/allow-only-certain-characters) –

答えて

0

"*" の文字を動作するかどうかを参照してください。この

/^(\d|\*)*$/ 

を試してみてください?あなたは[\*0-9]+のような何かをすることができるはずです。

あなたは二回(\\*

更新スペックどおりエスケープする必要があります。

(\**|\d*) 

いずれか、または他に。

+0

'[]'の中にあなた'*'をエスケープする必要はありません。 – Pointy

0

'数値のみ' 山車含むかのどちらか '*' または数値使用
/^\*$/.test([inputstr]) || /^\d+$/.test([inputstr])

var foo = '**', bar = '123', bla = '*', foobar = 'abcd1*'; 
alert(/^\*$/.test(foo) || /^\d+$/.test(foo));  //=> false 
alert(/^\*$/.test(bar) || /^\d+$/.test(bar));  //=> true 
alert(/^\*$/.test(bla) || /^\d+$/.test(bla));  //=> true 
alert(/^\*$/.test(foobar) || /^\d+$/.test(foobar)); //=> false 

にする必要があり、入力用

var bla = '123*', foo = '234*abc'; 
bla.match(/[*0-9]/g).length === bla.length; //=> true 
foo.match(/[*0-9]/g).length === foo.length; //=> false 

試してみてください。
/^\*$/.test(num) || !isNaN(Number(num))

+0

agh .. *または数字をサポートする入力フィールドが必要です。それらの両方ではありません。 – user1170949

+0

編集された回答を参照 – KooiInc

+0

"only * and 0-9"を "only * OR 0-9"に変更してください – KooiInc

関連する問題