私のテキストボックスでは、整数値のみを許可し、コンマはjavascriptを使用して制御します。次に疑問をどのようにカンマ以上に制御するか(1,2,3,4) ok then 1,2,3、、4、、5必要があります。JavaScriptで可能です。複数のコンマがjavascriptを使用して制限しています
<p:inputText onKeyPress="onlyAllowDigitComma(event);"/>
私のテキストボックスでは、整数値のみを許可し、コンマはjavascriptを使用して制御します。次に疑問をどのようにカンマ以上に制御するか(1,2,3,4) ok then 1,2,3、、4、、5必要があります。JavaScriptで可能です。複数のコンマがjavascriptを使用して制限しています
<p:inputText onKeyPress="onlyAllowDigitComma(event);"/>
入力を検証するために正規表現を使用してください。あなたが最初に得たマッチが入力全体と同じであれば、あなたはいいですね。
あなたが探している正規表現を簡単にするために/(\d,?)*/g
(Test Link)
ですが、私はショートカットの問題を回避するには「からkeyup」イベントに以下のコードをしました。また、コピー/ペーストイベントをチェックすることもできます。
let myInput = document.getElementById('myInput');
let myInputValue = myInput.value;
myInput.addEventListener('keyup', function(event){
if(isPerfectMatch(myInput.value, /(\d,?)*/g)){
console.log('Format is correct.');
myInputValue = myInput.value;
}
else {
console.log('Wrong format');
myInput.value = myInputValue;
}
});
function isPerfectMatch(value, regex){
let match = value.match(regex);
return match !== null && match[0] == value;
}
あなたの答えはあなたのソリューションで行くどこまで表示されません。私はコードがあなたが望むものだと思う、私はあなたが開始と終了から昏睡を取り除く必要があると思います。
<input type="text" onkeypress="onlyAllowDigitComma(event,this);" onkeyup="onlyAllowDigitComma(event,this);"/>
<script>
function onlyAllowDigitComma(e,l){
var k = e.which;
if ((k <= 47 || k >= 58) && k!=44 && k!=8 && k!=0) {
e.preventDefault()
};
l.value=l.value.replace(/,,/g,',');
}
</script>
あなたはただAllowDigitComma機能コードを提供できますか? – Ruhul
誰もがネイティブの英語のスピーカーではないことを理解していますが、標準的な国際的な英語はこの意味で「疑念」を使用していません。また、完全停止後にスペースを置き、 "it's"( "it is"の略語)のような単語でアポストロフィを使用します。言語の正しい大文字は "JavaScript"です。 –