Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 排除komma和dot的正则表达式模式_Regex_Angular_Ionic2 - Fatal编程技术网

Regex 排除komma和dot的正则表达式模式

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. 对不起,如果

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

我读了一些Regex帖子,并构建了这个模式
[^,.]+
这可以正常工作,就像键入
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
^[^,.]+$
的工作原理与
[^,.]+
类似,但对于fetch
x,x
的建议,它应该是无效的,如果你写了
1,1
x,
i声明如果您编写了类似于
3,
的内容,则该内容应无效,该内容在此时有效将type=“number”更改为“text”。对于类型设置为number的输入,正则表达式验证将不会触发。@lastWhisper*而不是+doesent工作似乎只是因为其类型=number,如WiktorStribiżew sayd。看来我只需要建立自己的validator@DenkoMancheski我将在自定义验证器中执行此操作。我试着绕过这个问题,但似乎我需要一个Thx:)只是一个测试-添加
^
$
锚定:
^[^,.]+$
@WiktorStribiżew
^[^,.]+$
就像
[^,.]+
但是Thx无论如何都可以用fetch
x提出建议,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*