Have a look on the code. It's simply created using Html and JavaScript.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | <html> <body> <label>One Decimal Only</label> <input type="text" onpaste="return false" onkeypress="return restrictToDecimal(this,event,1)" /> <br /> <label>Two Decimal Only</label> <input type="text" onpaste="return false" onkeypress="return restrictToDecimal(this,event,2)" /> <br /> <label>Five Decimal Only</label> <input type="text" onpaste="return false" onkeypress="return restrictToDecimal(this,event,5)" /> </body> <script type="text/javascript"> function restrictToDecimal(el, evt, dec) { var charCode = (evt.which) ? evt.which : event.keyCode; var number = el.value.split('.'); if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) { return false; } //Restrict To Enter One Period if (number.length > 1 && charCode == 46) { return false; } //Getting The Character Position Entered var caratPos = getSelectionStart(el); var dotPos = el.value.indexOf("."); if (caratPos > dotPos && dotPos > -1 && (number[1].length > dec - 1)) { return false; } return true; } function getSelectionStart(o) { if (o.createTextRange) { var r = document.selection.createRange().duplicate() r.moveEnd('character', o.value.length) if (r.text == '') return o.value.length return o.value.lastIndexOf(r.text) } else return o.selectionStart } </script> </html> |
If you want use following single JavaScript to do it.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | function restrictToDecimal(el, evt, dec) { var charCode = (evt.which) ? evt.which : event.keyCode; var number = el.value.split('.'); if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) { return false; } //Restrict To Enter One Period if (number.length > 1 && charCode == 46) { return false; } //Getting The Character Position Entered var caratPos = getSelectionStart(el); var dotPos = el.value.indexOf("."); if (caratPos > dotPos && dotPos > -1 && (number[1].length > dec - 1)) { return false; } return true; function getSelectionStart(o) { if (o.createTextRange) { var r = document.selection.createRange().duplicate() r.moveEnd('character', o.value.length) if (r.text == '') return o.value.length return o.value.lastIndexOf(r.text) } else return o.selectionStart } } |
No comments:
Post a Comment