正则表达式:只有数字或空字符串

时间:2012-10-30 10:10:16

标签: regex

我有一个电话输入字段。您只应键入数字,空格或将其留空。 如何构建正则表达式的想法?

2 个答案:

答案 0 :(得分:4)

正则表达式将是

^[\d ]*$      # in JavaScript, that's /^[\d ]*$/

但我不会这样做。您应该允许所有字符,然后使用result = subject.replace(/\D+/g, "");等内容在第二步中过滤掉数字。

原因:人们可以通过各种方式输入电话号码(1-(123) 343-2345等),如果网站告诉他们号码不正确,他们也不喜欢。

您是否知道您已根据此要求排除国家/地区代码?我将所有电话号码存储为+49 123 456-7890,我不希望我的国家/地区代码被误认为是区号。

答案 1 :(得分:2)

您可以使用此正则表达式:

/^[\d\s]*$/