【发布时间】:2015-07-20 13:56:10
【问题描述】:
好的,我有输入字段:
<input type="text" class="form-control" ng-model="ticketPin">
我想让用户只输入数字,10 位长(1234567890)
我试过type="number",但不是这样。任何建议
编辑:所以我可以将 maxlength 用于 10 位长,但是只限制数字呢? 编辑:模式 ="[0-9]*" 不适合我
【问题讨论】:
好的,我有输入字段:
<input type="text" class="form-control" ng-model="ticketPin">
我想让用户只输入数字,10 位长(1234567890)
我试过type="number",但不是这样。任何建议
编辑:所以我可以将 maxlength 用于 10 位长,但是只限制数字呢? 编辑:模式 ="[0-9]*" 不适合我
【问题讨论】:
你需要使用maxlength属性
<input type="text" class="form-control" ng-model="ticketPin" maxlength="10">
【讨论】:
pattern="[0-9]*" 并另外使用 minlength="10"。
您可以这样做以确保输入的值为数字且不超过 10 位。
<input type="text" class="form-control" ng-model="ticketPin" pattern="[0-9]*" maxlength="10">
【讨论】:
试试这个插件http://candreoliveira.github.io/bower_components/angular-mask/examples/index.html#/
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Example</title>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js"></script>
<script src="//rawgit.com/candreoliveira/ngMask/master/dist/ngMask.min.js"></script>
</head>
<body ng-app="selectExample">
<script>
angular.module('selectExample', ['ngMask'])
</script>
<div>
<input type='text' mask-clean='true' ng-model='ticketPin' mask='9999999999' restrict="reject" clean="true" />
</div>
{{ticketPin}}
</body>
</html>
【讨论】:
为确保用户只输入数字,您可以使用pattern 属性:
<input type="text" class="form-control" ng-model="ticketPin" pattern="[0-9]{10}">
此技术不适用于所有浏览器,请参阅http://caniuse.com/#feat=input-pattern
验证只会在浏览器中执行,不要忘记在服务器上再次验证数据。
【讨论】:
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
input[type="number"] {
-moz-appearance: textfield;
}
<input id="Phone" onkeypress="return isNumeric(event)" oninput="maxLengthCheck(this)" type="number" max = "9999999999" placeholder="Phone Number" />
<script>
function maxLengthCheck(object) {
if (object.value.length > object.max.length)
object.value = object.value.slice(0, object.max.length)
}
function isNumeric (evt) {
var theEvent = evt || window.event;
var key = theEvent.keyCode || theEvent.which;
key = String.fromCharCode (key);
var regex = /[0-9]|\./;
if ( !regex.test(key) ) {
theEvent.returnValue = false;
if(theEvent.preventDefault) theEvent.preventDefault();
}
}
</script>
jsfiddle在这里:
【讨论】: