Ionic/Angular2输入正则表达式模式被破坏
在我的项目中进行了一些更新之后,输入模式不再工作。更新到Ionic 2.1.18后,输入模式似乎被破坏: 此部分以前适用于我,但现在密码。有效的总是错误的:Ionic/Angular2输入正则表达式模式被破坏,angular,ionic-framework,ionic2,Angular,Ionic Framework,Ionic2,在我的项目中进行了一些更新之后,输入模式不再工作。更新到Ionic 2.1.18后,输入模式似乎被破坏: 此部分以前适用于我,但现在密码。有效的总是错误的: <ion-item> <ion-label floating>Password*</ion-label> <ion-input type="password" required [(ngModel)]="regModel.Password" name="Password"
<ion-item>
<ion-label floating>Password*</ion-label>
<ion-input type="password" required [(ngModel)]="regModel.Password" name="Password"
#Password="ngModel" pattern="^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d*\w]{5,}$"
(change)="checkPassword()"></ion-input>
</ion-item>
<ion-item no-border no-lines no-margin *ngIf="!Password.valid && Password.dirty" color="danger">
<small>Five characters minimum,</small>
<br>
<small> at least 1 uppercase, 1 lowercase and 1 number {{Password.valid}} {{Password.dirty}}
</small>
</ion-item>
密码*
最少五个字符,
至少1个大写字母、1个小写字母和1个数字{{Password.valid}{{Password.dirty}
更新
有趣的是,一些简单的正则表达式工作得很好,但另一个-不,例如[a-zA-Z]*-工作得很好,\d{5}-不要,以防其他人碰巧遇到Ionic
模式的问题,下面是一个密码的工作示例:
- 至少包含一个数字
- 至少有一个特殊字符
- 至少一个小写字符
- 至少一个大写字符
内部.ts
文件:
export class SignUpPage {
public PASSWORD_REGEX = `.*(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\\$%\\^&\\*]).*`
// ...
}
内部HTML
:
<ion-input [(ngModel)]="signUpData.password"
name="password"
type="password"
#password="ngModel"
[minlength]="10"
[pattern]="PASSWORD_REGEX"
required>
</ion-input>
注意:我在regex中省略了密码长度检查,并将其放在[minlength]
属性中,因此可以轻松控制长度,而无需深入regex,但是,如果希望使用regex方式实现,请使用以下方法:
*(?=.[a-z])(?=.[a-z])(?=.[0-9])(?=.[!@\$%\^&*])(?=.{10,})
-此处用户应提供至少10个字符长的密码。以防其他人碰巧遇到Ionic模式的问题,下面是一个密码的工作示例:
- 至少包含一个数字
- 至少有一个特殊字符
- 至少一个小写字符
- 至少一个大写字符
内部.ts
文件:
export class SignUpPage {
public PASSWORD_REGEX = `.*(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\\$%\\^&\\*]).*`
// ...
}
内部HTML
:
<ion-input [(ngModel)]="signUpData.password"
name="password"
type="password"
#password="ngModel"
[minlength]="10"
[pattern]="PASSWORD_REGEX"
required>
</ion-input>
注意:我在regex中省略了密码长度检查,并将其放在[minlength]
属性中,因此可以轻松控制长度,而无需深入regex,但是,如果希望使用regex方式实现,请使用以下方法:
*(?=.[a-z])(?=.[a-z])(?=.[0-9])(?=.[!@\$%\^&*])(?=.{10,})
-这里用户应该提供至少10个字符长的密码。试试[模式]
试试[模式]
谢谢!我花了一些时间试图弄清楚在Ionic中什么模式适用于强密码验证。这一个真的有!谢谢我花了一些时间试图弄清楚在Ionic中什么模式适用于强密码验证。这一个真的有!