基本正则表达式来删除任何空间

问题描述:

我正在寻找一个基本的正则表达式,删除任何空间。我想用它来输入邮政编码。基本正则表达式来删除任何空间

有些人在邮政编码之后,之前或之间插入空格。

我现在在使用/^\d{5}$/。我想扩展它以包含空间移除。

这怎么能改进?

+0

你用它来验证吗? –

(我正在考虑要删除字符串中的空格,而不是验证它是否有效,甚至有空格)

您也可以替换一个或多个空格(全球)

/\s+/g 

没什么。

zip.replace(/\s+/g, ""); 

例如在我的浏览器的JS控制台:

> " 02 1 3 4".replace(/\s+/g, ""); 
    "02134" 
+0

工作!你能结合我目前的正则表达式吗? – Mohsen

+0

这取决于你的设计流程。如果您想先删除空格然后验证它,请应用我在此演示的内容,然后使用当前的正则表达式来查看输入是否有效。现在,如果您想结合这些方法,即使同时使用空格来验证它是否有效,请使用@Jacob Eggers的答案。 – sidyll

这里是你可以用它代替当前的一个忽略任何及所有空格的正则表达式。

/^(\s*\d){5}\s*$/ 
+0

对我来说不符合“123 45”。我错了吗? – Mohsen

+0

为什么要投票? ---编辑---被删除。 – sidyll

+1

@Mohsen:当然可以,试试'if(“123 45”.match(/ ^(\ s * \ d){5} \ s * $ /))console.log(“yes”);' – sidyll

如果你消毒表单输入什么的,它可能是最简单的使用方法:

zip = zip.replace(/\D/g,'');

然后你可以验证没有一个正则表达式,只需使用.length财产上的字符串。

if(zip.length != 5) alert('failed!');