Utk*_*maz 0 javascript regex replace
我做错了还是JS替换有问题?
<input type="text" id="a" value="(55) 55-55-55" />?
document.write($("#a").val().replace(/()-/g,''));?
prints (55) 555555
Run Code Online (Sandbox Code Playgroud)
我怎么能替换()和空格呢?
在JavaScript正则表达式中,(
和)
字符具有特殊含义.如果你想按字面意思列出它们,请\
在它们前面放一个反斜杠().
如果你的目标是摆脱所有的(
,)
,-
,和空格字符,你可以用一个字符类与交替(例如,二选一)联合做\s
,它的全称是"白色小号步伐":
document.write($("#a").val().replace(/[()\-]|\s/g,''));?
Run Code Online (Sandbox Code Playgroud)
(我没有在前面添加反斜杠,()
因为你不需要在一个字符类中.我确实把一个放在了前面,-
因为在一个字符类中,-
有特殊意义.)
或者,如果你想摆脱任何不是数字的东西,你可以使用\D
:
document.write($("#a").val().replace(/\D/g,''));?
Run Code Online (Sandbox Code Playgroud)
\D
意思是"不是数字"(注意它是一个大写\d
字母,小写字母是相反的[任何数字]).