我在jQuery mobile中实现了 iphone& android app。*我使用了**纯jQuery mobile
在文本框中输入电话号码。我使用TYPE =“TEL”'这是用于numaric键盘。
<input type="tel" style=" width:81%;" id="contactNumber" value="" class="ui-input-text ui-body-c ui-corner-all ui-shadow-inset" />
但是用户也可以输入文本框,这是不必要的东西。
How can I prevent user from inserting characters other than numbers?
对于移动设备用户来说,如果唯一的输入可能是数字,则会更舒服,因为他们必须按下每个按钮才能获得数字而不是字母!
我尝试在输入字段中添加TYPE=”TEL” TYPE=”mumber”
,但它无法阻止。
答案 0 :(得分:13)
$(document).ready(function() {
$('#contactNumber').keyup(function() {
var numbers = $(this).val();
$(this).val(numbers.replace(/\D/, ''));
});
});
这应该替换任何带有空字符*的非数字,因为它们被放入,无需一次搜索多个非数字。
答案 1 :(得分:7)
以上都没有为我工作,但我找到了一个完全符合我需要的解决方案(禁止输入字段中的特殊字符)。阻止和提醒用户。
<script>
$("#userlogin").keypress(function(e) {
if (String.fromCharCode(e.which).match(/[^A-Za-z0-9_ ]/)) {
e.preventDefault();
alert("Special characters are not allowed. Use 'A-Z', 'a-z' and '0-9'.");
}
});
</script>
答案 2 :(得分:1)
之前看过这个回答。查看http://www.texotela.co.uk/code/jquery/numeric/
您只需更改自己的班级ID,并在页面上显示此代码:
$(document).ready(function(){
$(".numeric").numeric();
});
如果您不想使用jQuery,您可以编写自己的函数并将其命名为onkeyup事件
请参阅:http://www.htmlcodetutorial.com/forms/index_famsupp_158.html
另一个选择是使用步骤属性:
http://www.w3.org/TR/html-markup/input.number.html#input.number.attrs.step.float
<input type="number" step="0.01" min="0" >
答案 3 :(得分:1)
type =“tel”是HTML 5,而不是jqueryMobile。 浏览器支持HTML 5输入类型的后续设备可以很好地呈现这些框。但对于旧版本,需要附加脚本。这些潦草已经发布在上面的答案中。
答案 4 :(得分:0)
$('#contactNumber').bind('keypress', function (event) {
event = event || window.event; canAdd = new Boolean(false);
canAdd = ((event.charCode > 47) && (event.charCode < 58) || (event.charCode == 32) || (event.charCode == 40) || (event.charCode == 41) || (event.charCode == 43) || (event.charCode == 45) || (event.charCode == 124));
if (!canAdd && event.charCode)
return false;
});
但最好使用HTML5 rel属性
答案 5 :(得分:0)
HTML :
input type="tel" (keypress)="isNumberKey($event)"
脚本:
isNumberKey(evt: any) { < br >
// to accept only numbers in contact field<br>
if ( < br >
(evt.key >= '0' && evt.key <= '9') || < br >
evt.key == "Backspace" || < br >
evt.key == "Delete" || < br >
evt.key == "ArrowLeft" || < br >
evt.key == "ArrowRight" < br >
) { < br > //"Backspace" etc for 'firefox' browser<br>
return true; < br >
} < br >
return false; < br >
}