Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.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/3/html/72.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
用\d模式替换javascript中的()函数_Javascript_Html - Fatal编程技术网

用\d模式替换javascript中的()函数

用\d模式替换javascript中的()函数,javascript,html,Javascript,Html,我正在尝试用JAVASCRIPT编写简单的函数,它可以通过安装在chrome web浏览器上的Tampermonkey自定义我的html代码。我的输入html是一个地址: 'John OConnor<br><br> Shop St 7<br> Dublin<br> 12<br> IE' 约翰·奥康纳 街7号店 都柏林 12 IE' 此地址保存在名为“address”的变量中。我使用了一些代码来定制它: address = addre

我正在尝试用JAVASCRIPT编写简单的函数,它可以通过安装在chrome web浏览器上的Tampermonkey自定义我的html代码。我的输入html是一个地址:

'John OConnor<br><br>
Shop St 7<br>
Dublin<br>
12<br>
IE'
约翰·奥康纳

街7号店
都柏林
12
IE' 此地址保存在名为“address”的变量中。我使用了一些代码来定制它:

address = address.replace(/<br><br>/gi, '<br>'); //remove duplicated <br> tag
address = address.replace(/St/gi, 'Street'); //change st to street
address = address.replace(/IE/gi, 'Ireland'); //change IE to Ireland
address=address.replace(/

/gi,
')//删除重复的
标记 地址=地址。替换(/St/gi,“街道”)//换成街 地址=地址。替换(/IE/gi,'irland')//换到爱尔兰
现在,我的html输出如下所示:

'John OConnor<br>
Shop Street 7<br>
Dublin<br>
12<br>
Ireland'
'John OConnor
商店街7号
都柏林
12
爱尔兰的
我现在的问题是如何编写代码,将“12”移动到“都柏林12”?我正在尝试以下代码:

address = address.replace(/<br>\d\d<br>/gi, '\d\d<br>')
address=address.replace(/
\d\d
/gi,“\d\d
”)
\d=返回任意数字

但它返回:“都柏林\d\d”,我想要“都柏林12”

希望你能理解。 有什么想法吗?

地址=地址。替换(/
(\d\d)
/gi,$1
'))
捕获数字的另一种方法

这将匹配从3位到9位的数字

address = address.replace(/<br>\d{3,9}<br>/gi, '$1<br>')
address=address.replace(/
\d{3,9}
/gi,$1
'))
您评论的问题的解决方案

address = address.replace(/<br>(023|132545)<br>/gi, '$1<br>')
address=address.replace(/
(023 | 132545)
/gi,$1

如果有人给你提供了地址,那么就假设他们知道自己在说什么,并且不改变地址。当名称为
Brien Fields
并变为
BrIrelandn Firelands
或名称为
Steve Stobart
并变为
StreetEvent StreetBart
时会发生什么情况?我想将地址转换为“更漂亮的外观”。为了避免您的示例,我只需将replace函数更改为
。replace(/

/gi,
爱尔兰
')
如果您使用地址向用户交付商品/服务,并且您的代码将地址弄乱,以致邮递员无法将其交付或交付到错误的地方,那么您将失去业务。在知道自己的地址时,最好假设用户有一半的能力(如果他们不知道,那是他们的错,不是你的错),而不是试图做一些“聪明”的事情,然后猜测别人住在哪里。谢谢你的意见。当我自定义地址时,我会很小心,不改变内容,只是为了更好地显示它,以便邮递员可以更好地看到它,而且它需要更少的行数。例如,输入:
dublin
联合都柏林
都柏林d12
默认值
爱尔兰
输出:
dublin 12
爱尔兰
工作完美。谢谢大家!\d匹配任何数字,如果我需要匹配任何数字,如“023”或“132545”?如果要匹配灵活的数字数量,可以使用“\d+”(1个或多个数字)而不是“\d\d”。否则,如果只想替换2个或更多数字,请使用“\d{2,}”。学习正则表达式的一个很好的工具是regexr:[[:digit:]还用于捕获数字。可以指定限制,如{2,}或简单地添加加号+表示0或更多次。
address = address.replace(/<br>(023|132545)<br>/gi, '$1<br>')