Regex 排除komma和dot的正则表达式模式
我正在尝试构建一个正则表达式,以排除输入中的komma和dots(仅限数字)。我在一个运行Angular2的Ionic 2应用程序中执行此操作,所以我使用Angular 2 Validators.pattern。 我会假装regex引擎是javascript引擎 我读了一些Regex帖子,并构建了这个模式Regex 排除komma和dot的正则表达式模式,regex,angular,ionic2,Regex,Angular,Ionic2,我正在尝试构建一个正则表达式,以排除输入中的komma和dots(仅限数字)。我在一个运行Angular2的Ionic 2应用程序中执行此操作,所以我使用Angular 2 Validators.pattern。 我会假装regex引擎是javascript引擎 我读了一些Regex帖子,并构建了这个模式[^,.]+ 这可以正常工作,就像键入1,2时触发一样,但对于1,不起作用 1,仍然有效,但我希望它与1,2一样无效。那么,我必须如何修改我的模式来获取x,x,x.x以及x、和x. 对不起,如果
[^,.]+
这可以正常工作,就像键入1,2
时触发一样,但对于1,
不起作用
1,
仍然有效,但我希望它与1,2一样无效。那么,我必须如何修改我的模式来获取x,x
,x.x
以及x、
和x.
对不起,如果这个问题有点愚蠢,但我从来没有使用过正则表达式模式之前和之后,尝试了3或4个小时,我放弃了
如果你们中的一些人能帮我让正则表达式工作就太好了
编辑:
在我的TS文件中
在Valuechange上,我将错误映射到正确的错误消息并显示它们。还尝试登录任何错误,但如果我键入1,
,则没有错误。如果我键入像1,2
这样的内容,它就是无效的,即使1,,,,
也不是无效的。例如,当我尝试排除1而不是排除1时,它的工作原理应该是这样的,[^1]+
在我的HTML文件中
编辑2:
我需要使用。这是因为我需要在智能手机上打开数字键盘,而这是通过type=“number”实现的。
Regex似乎不能与type=“number”一起工作,或者说它工作得不太好。如果您只是想验证输入是否包含
,。
符号。您可以使用这个正则表达式[,]
。它将匹配任何至少包含一个点或逗号的字符串。如果目标是找到任何包含逗号或点的数字,您可以使用类似的方法
\d*[.,]\d*
如果您只想验证输入是否包含
,。
符号。您可以使用这个正则表达式[,]
。它将匹配任何至少包含一个点或逗号的字符串。如果目标是找到任何包含逗号或点的数字,您可以使用类似的方法
\d*[.,]\d*
只是一个测试-添加
^
和$
锚定:^[^,.]+$
@WiktorStribiżew^[^,.]+$
的工作原理与[^,.]+
类似,但对于fetchx,x
的建议,它应该是无效的,如果你写了1,1
和x,
i声明如果您编写了类似于3,
的内容,则该内容应无效,该内容在此时有效将type=“number”更改为“text”。对于类型设置为number的输入,正则表达式验证将不会触发。@lastWhisper*而不是+doesent工作似乎只是因为其类型=number,如WiktorStribiżew sayd。看来我只需要建立自己的validator@DenkoMancheski我将在自定义验证器中执行此操作。我试着绕过这个问题,但似乎我需要一个Thx:)只是一个测试-添加^
和$
锚定:^[^,.]+$
@WiktorStribiżew^[^,.]+$
就像[^,.]+
但是Thx无论如何都可以用fetchx提出建议,x
i声明,如果您编写了类似1,1的内容,则它应该无效;使用x,
i声明,如果您编写了类似3,
的内容,则它应该无效。此时,将type=“number”更改为“text”。对于类型设置为number的输入,正则表达式验证将不会触发。@lastWhisper*而不是+doesent工作似乎只是因为其类型=number,如WiktorStribiżew sayd。看来我只需要建立自己的validator@DenkoMancheski我将在自定义验证器中执行此操作。我试着绕过这个问题,但似乎我需要一个Thx:)@marvstar这两种类型之间有什么区别?你想达到什么目的?是否只允许数字作为用户输入?在本例中,/^\d+$/
。如果您的数字可能包含整数和小数部分之间的点^\d+\.?\d*$
。如果数字可能包含点和符号^[+-]?\d+\.?\d*$
@marvstar这两种类型之间有什么区别?你想达到什么目的?是否只允许数字作为用户输入?在本例中,/^\d+$/
。如果您的数字可能包含整数和小数部分之间的点^\d+\.?\d*$
。如果数字可能包含点和符号^[+-]?\d+\.?\d*$
\d*[.,]\d*