2013-08-29 128 views
0

我有它由作为字符串传递一个号码的输入,如“12345678”。有时候,这可能包含前导空白或尾随空白。这个数字需要去除任何空格,并且以一个标识符作为前缀,使其看起来像“P12345678” - 简单吗?JavaScript正则表达式替换分组

我想用下面的正则表达式,但我似乎无法得到更换,以正常工作:

input = input.replace(/^\s*(\d+)\s*$/,/P\1/); 

我在做什么错?

+3

'String.prototype.trim'在 “现代” 浏览器:'输入= 'P' + input.trim();' – elclanrs

+2

的第二个参数替换为字符串,而不是一个正则表达式 –

+0

看看在这里string.trim,还提供有旧版本浏览器兼容的代码 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim – Yalamber

回答

3

使用此来代替:

input = input.replace(/^\s*(\d+)\s*$/, "P$1"); 
+0

奇妙!谢谢。 –

+0

@ Component10不客气:) – Jerry