ユーザーが double のみを入力できるテキスト入力フィールドがあります。jquery を使用してこれを実装することに成功しましたが、正規表現の経験があまりないため、使用している (複数の OR を使用する) 正規表現が適切な方法であるかどうかはわかりません。単純な正規表現を取得しようと多くの時間を費やしましたが、うまくいきませんでした。最終的に使ったのがこれ。
これが私が使用している機能です:
$('#foo').keyup(function(){
var str = $(this).val();
if(/(^\.+$)|(^\d+$)|(^\d+\.$)|(^\.\d+$)|(^\d+\.\d+$)/.test(str)){
$('#foosays').text(str);
}else{
$("#foo")[0].value="";
}
});
これが私の関数のデモです: http://jsfiddle.net/Esfsy/
正規表現やその他のものを改善するための提案は大歓迎です。