如何限制文本框的输入,使其只接受数字和小数点?
答案 0 :(得分:3)
var textField = Ti.UI.createTextField({
top : 20,
left : 10,
right : 10,
height : 60,
keyboardType : Ti.UI.KEYBOARD_NUMBER_PAD
});
Window.add(textField);
在属性keyboardType : Ti.UI.KEYBOARD_NUMBER_PAD
的帮助下,您可以限制文本框的输入,使其仅接受数字和小数点
答案 1 :(得分:0)
使用此:
<html>
<head>
<script>
function removeNumbers(textbox) {
textbox.value = textbox.value.replace(/[^\0-9]/g, "");
}
</script>
</head>
<body>
<input onKeyPress="removeNumbers(this)">
</body>
</html>
答案 2 :(得分:0)
以下是此网站的其他用户ShreejiShah制作的jsfiddle:http://jsfiddle.net/4HHeQ/ 以下是原始问题:How to make HTML input tag only accept numbers?
它使用jQuery来检测击键,
jQuery("#myId").keydown(function(event) {
// Allow: backspace, delete, tab, escape, enter and .
if ( jQuery.inArray(event.keyCode,[46,8,9,27,13,190]) !== -1 ||
// Allow: Ctrl+A
(event.keyCode == 65 && event.ctrlKey === true) ||
// Allow: home, end, left, right
(event.keyCode >= 35 && event.keyCode <= 39)) {
// let it happen, don't do anything
return;
}
else {
// Ensure that it is a number and stop the keypress
if (event.shiftKey || (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 )) {
event.preventDefault();
}
}
});
如果密钥不是数字,退格,删除,制表符,转义,请输入或。它&#34;防止默认&#34;动作,用于在文本框中显示输入的字符。
再一次,这不是我的代码,但它 绝对精彩,所以我希望它能够在不冒犯任何人的情况下使用它。
答案 3 :(得分:0)
您可以使用以下功能验证数字和数字。
function isDigit(number) {
var letters = /^[0-9. ]+$/;
var bl = false;
if (number.match(letters)) {
bl = true;
}
return bl;
}
Ti.API.info(isDigit("12ass40.12456"));
Ti.API.info(isDigit("12350.12456"));
这只是一个示例,但您可以在textField的change事件上调用此函数进行验证。
答案 4 :(得分:0)
我们走吧!我在我的代码中这样做了!享受它
<html>
<head>
<script>
function replacePonto(){
var input = document.getElementById('qtd');
var ponto = input.value.split('.').length;
if (ponto > 2)
input.value=input.value.substr(0,(input.value.length)-1);
input.value=input.value.replace(/[^0-9.]/,'');
if (ponto ==2)
//this limit how much numbers after decimal point
input.value=input.value.substr(0,(input.value.indexOf('.')+3));
if(input.value == '.')
input.value = "";
}
</script>
</head>
<body>
<input type="text" id="qtd" maxlength="10" style="width:140px" onkeyup="return replacePonto()">
</body>
</html>
答案 5 :(得分:0)
这对我来说很完美:
function validateNumberDouble(event) {
var n = event.key;
k = event.keyCode;
v = event.target.value;
if (k === 8 || k === 37 || k === 39 || k === 9 || k === 13) {
return true;
} else {
var dot = v.split('.').length;
if ((dot > 1 && n == '.') || (v.length == 0 && dot >= 1 && n == '.')) {
return false;
} else {
if (n.match(/[^0-9.]/)) {
return false;
}else{
if(v.indexOf('.')>0 && v.length - v.indexOf('.')>=3){
return false;
}
}
}
}
}