sas*_*asi 5 javascript android angularjs cordova
我想限制用户在Android设备上的数字字段中输入特殊字符。“。” (点)字符未按预期在“ onkeypress”事件中传递值。
通过使用<input type="text">I,我可以阻止用户输入任何特殊字符。
但是,<input type="number"/>我无法限制用户输入点键。
尝试了许多堆栈溢出帖子。但是仍然没有运气。
下面是我正在尝试的代码:
的HTML
<input type="number" ng-model="registrationField.mobilenumber" tabindex="0" no-special-character="^[0-9-]*$" >
Run Code Online (Sandbox Code Playgroud)
JS
app.directive("noSpecialCharacter", [function() {
return {
restrict: "A",
link: function(scope, elem, attrs) {
var limit = parseInt(attrs.limitTo);
var regex = RegExp(attrs.noSpecialCharacter);
angular.element(elem).on("keydown", function(e) {
if(e.key == "Unidentified"){
e.preventDefault();
return false;
}
});
}
}
}])
Run Code Online (Sandbox Code Playgroud)
我正在使用keydown事件,因为keypress事件不会在数字键盘上按点号键时触发。
另外,我收到了e.key如Unidentified当用户已经进入了关键点。所以我正在尝试使用它。
当用户输入点键并且也无法正常工作时,我尝试过修剪最后一个值。
请提出任何可能的方法。
在Android Nexus 5X设备中尝试了以上代码。
编辑: 我没有正确理解问题,该解决方案不适用于移动设备,这是输入字段的纯 JavaScript 解决方案。
<div>
<input onkeypress='return event.charCode >= 48 && event.charCode <= 57' type="number" placeholder="Input Value" />
</div>
Run Code Online (Sandbox Code Playgroud)
这是工作 jsfiddle http://jsfiddle.net/tZPg4/16784/
| 归档时间: |
|
| 查看次数: |
658 次 |
| 最近记录: |