使用javascript删除不断变化的文本字符串的一部分?

使用javascript删除不断变化的文本字符串的一部分?,javascript,regex,dynamic,Javascript,Regex,Dynamic,我有一个字符串“AB-123-2011-07-09”,需要删除除“123”之外的所有内容,然后在最终结果中添加一个“#”符号 字符串“123”的数量不断增加,“2011-07-09”(日期)也是如此。只有“AB”保持不变 因此,最终结果将是:#123 这可能吗 谢谢 编辑:我只是想澄清一下,我需要一个脚本,它可以全局搜索页面,并将任何格式为“AB-xxx-xxxx xx xx”的文本替换为此处以粗体突出显示的数字,然后在其前面添加“#” 目前该位置只有3位数字,但将来可能有4位 我的代码: fu

我有一个字符串“AB-123-2011-07-09”,需要删除除“123”之外的所有内容,然后在最终结果中添加一个“#”符号

字符串“123”的数量不断增加,“2011-07-09”(日期)也是如此。只有“AB”保持不变

因此,最终结果将是:#123

这可能吗

谢谢

编辑:我只是想澄清一下,我需要一个脚本,它可以全局搜索页面,并将任何格式为“AB-xxx-xxxx xx xx”的文本替换为此处以粗体突出显示的数字,然后在其前面添加“#”

目前该位置只有3位数字,但将来可能有4位

我的代码:

function Replace() {
var OldString = "AB-123-2011-07-09";
var NewString = OldString.replace(/^AB-(\d+)-.*/, "#$1");
document.body.innerHTML = document.body.innerHTML.replace(OldString, NewString);
}
window.onload = Replace();
到目前为止,它只替换了字符串的一个实例,并使用了一个固定字符串(“AB-123-2011-07-09”)

我需要什么样的正则表达式才能使“OldString”动态化,而不是像现在这样固定?

这行吗

var result = mystring.replace(new RegExp(AB-([0-9]+)-[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9], "g"),"#$1");
mystring
是“AB-123-2011-07-09”字符串,
结果将是“#123”。

这行吗

var result = mystring.replace(new RegExp(AB-([0-9]+)-[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9], "g"),"#$1");
mystring
是“AB-123-2011-07-09”字符串,
结果将是“#123”


这当然是可能的。这个正则表达式可以实现以下功能:

“AB-123-2011-07-09“.replace(/^AB-(\d+)-\d+-\d+-\d+$/, “#$1“);
它还会检查给定的语法以及字符串中是否没有其他内容


这当然是可能的。这个正则表达式可以实现以下功能:

“AB-123-2011-07-09“.replace(/^AB-(\d+)-\d+-\d+-\d+$/, “#$1“);
它还会检查给定的语法以及字符串中是否没有其他内容


migg

下面的正则表达式可以工作,但在这种情况下,我认为您根本不需要正则表达式(正如@Eric已经展示的)

这将导致值
#123


下面的正则表达式可以工作,但在这种情况下,我认为您根本不需要正则表达式(正如@Eric已经展示的)

这将导致值
#123


我如何在搜索中实现这一点,并将javascript替换为通配符,即:不输入固定字符串,如:“AB xxx xxxx xx xx”?提供代码,您会得到更好的答案,因为很难准确确定您的意思,我如何在搜索中实现这一点并将javascript替换为通配符,ie:如果不输入固定的字符串,例如:“AB xxx xxxx xx xx”?您将得到一个提供代码的更好的答案,因为很难准确确定您的意思