我知道使用正则表达式,但是可以不使用它吗?这是我的模式形式的文本字段用户名。我想允许用户仅输入数字和字母,不包含空格和特殊字符。
<div class="form-group has-feedback" ng-class="addUser.username.$valid ? 'has-success' : 'has-error';">
<label class="control-label" for="username">Username</label>
<input class="form-control" name="username" ng-model="user.username" required>
<span class="glyphicon form-control-feedback" ng-class="addUser.username.$valid ? 'glyphicon-ok' : 'glyphicon-remove';"></span>
</div>
这是 Controller 部分。
$scope.users = [{
username: "a"
}];
$scope.addUser = function(user) {
$dialog.open({
showClose: false,
closeByEscape: true,
template: 'views/user/user-user-add.html',
controller: ['$scope', function($dialogScope) {
$dialogScope.isLoading = false;
$dialogScope.errorMessage = "";
$dialogScope.title = "New User";
$dialogScope.user = {
username: ""
};
感谢有人能帮助我。
最佳答案
这样做
$(function() {
$('#username').on( 'keydown', function( e ) {
if( !$( this ).data( "value" ) )
$( this ).data( "value", this.value );
});
$('#username').on( 'keyup', function( e ) {
if (!/^[_0-9a-z]*$/i.test(this.value))
this.value = $( this ).data( "value" );
else
$( this ).data( "value", null );
});
});
请将 id="username"
属性添加到您的文本字段。
编辑
如果您有多个用户名字段,请使用 class="username"
代替 id="username"
并将 Javascript 更改为 $('.username ')
。所以它可以在多个文本字段上工作。
关于javascript - 如何让用户只输入数字和字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36562393/