我知道使用正则表达式,但可能不使用它吗?这是我在模态表单中的文本字段用户名。我想允许用户只输入数字和字母,不包括空格和特殊字符。
<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>
这是控制器部分。
$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: ""
};
感谢任何人都可以帮助我。
答案 0 :(得分:1)
这样做
$(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"
属性添加到您的文本字段中。
修改强>
如果您有多个用户名字段,而不是id="username"
使用class="username"
并将Javascript更改为$('.username')
。所以它适用于多个文本字段。