AngularJs输入,带有必需的字母数字

AngularJs输入,带有必需的字母数字,angularjs,regex,Angularjs,Regex,我有一个表单,它有一个id输入字段。 我想将其限制为字母数字,不带空格,因此我设置: self.pattern = /^[a-z0-9]*$/; 在我看来是这样使用的: <input class="form-control" name="id" type="text" ng-model="controller.model.id" ng-disabled="controller.id" ng-pattern="/^[a-z0-9]*$/" ng-trim="" ng-maxlength="

我有一个表单,它有一个id输入字段。 我想将其限制为字母数字,不带空格,因此我设置:

self.pattern = /^[a-z0-9]*$/;
在我看来是这样使用的:

<input class="form-control" name="id" type="text" ng-model="controller.model.id" ng-disabled="controller.id" ng-pattern="/^[a-z0-9]*$/" ng-trim="" ng-maxlength="10" required />

但我想修改我的模式,说必须至少有一个字母,但它可以有0个数字。 有人能告诉我怎么做吗?

你可以用

ng-pattern="/^\d*[a-z][a-z\d]*$/"
如果还需要匹配大写字母,请添加
i
修饰符:

ng-pattern="/^\d*[a-z][a-z\d]*$/i"
如果需要禁止前导/尾随空格,请添加
ng trim=“false”

图案细节

  • ^
    -字符串的开头
  • \d*
    -0+位
  • [a-z]
    -一封信
  • [a-z\d]*
    -0个或更多字母或数字
  • $
    -字符串结束

尝试
^[a-z0-9]*[a-z][a-z0-9]*$
使用
ng pattern=“/^\d*[a-z][a-z\d]*$/”
,如果还需要匹配大写字母,请添加
i
修饰符