正则表达式模式排除komma和点

时间:2016-12-01 09:04:40

标签: regex angular ionic2

我正在尝试构建一个正则表达式来排除输入中的kommas和点(仅限数字)。我在使用Angular2的Ionic 2应用程序中执行此操作,因此我使用的是Angular 2 Validators.pattern。 我会假装正则表达式引擎是javascript之一。

我阅读了一些Regex帖子并构建了这种模式[^,.]+ 如果您键入1,2但它不适用于1,,则此功能会触发。

1,仍然有效,但我希望它无效,就像1,2。那么我该如何修改我的模式以获取x,xx.x也为x,x.

很抱歉,如果这个问题有点愚蠢,但我从来没有使用正则表达式模式,并且尝试了3或4个小时后我投降了......

如果你们中的一些人可以帮助我让Regex工作,那会很棒。

修改

我的TS文件中的

this._formValidator = new FormGroup({
        inputValidator: new FormControl('', Validators.maxLength(this._maxLength)),

        inputValidatorInteger: new FormControl('', Validators.compose([
            Validators.pattern('[^,.]+')
        ]))
});

在Valuechange上我将错误映射到正确的错误消息并显示它们。还尝试登录任何错误,但如果我键入1,则没有。如果我输入类似1,2的内容,即使1,,,,,无效,也会无效。当我尝试使用例如排除1而不是排除时,它的工作应该是[^1]+

在我的HTML文件中

<ion-item class="listElement" [formGroup]="_formValidator">
<ion-input [(ngModel)]="_result.value" type="number" placeholder="Enter Something" formControlName="inputValidatorInteger"></ion-input>
</ion-item>

编辑2: 我需要用。那是因为我需要在智能手机上打开数字键盘,而键盘=“数字”。 正则表达式似乎不适用于type =“number”,或者说它不能很好地工作。

1 个答案:

答案 0 :(得分:0)

如果您只想验证输入包含,.个符号。您可以使用此正则表达式[.,]。它将匹配包含至少一个点或逗号Example的任何字符串。如果目标是找到包含逗号或点的任何数字,则可以使用与此类似的内容

\d*[.,]\d*

Example