【发布时间】:2010-12-03 08:39:16
【问题描述】:
使用 JQuery,我从本质上是 MySQL 数据库中某些数据的查询框中提取值。知道大多数用户将使用 '*'(星号)作为通配符值并且 MySQL 使用 '%' 字符,我想将任何星号转换为 '%'。
通常,这就像使用
一样简单queryString = inputText.replace('*', '%');
但我在这方面收效甚微。 Javascript 的 replace() 函数仅替换第一次出现,因此它不会替换 *Foo* 之类的最后一个星号
我尝试的第二个选项是使用正则表达式,它也不起作用:
queryString = inputText.replace(/\x2a/g, '%');
如何将“*”(星号)替换为“%”(百分号)?我想有一个非常简单的正则表达式,或者我忽略的东西。
【问题讨论】:
-
实际上,
"*Foo*".replace(/\x2a/g, '%')为我工作。那个有什么问题?或者它在哪个浏览器中失败了? -
我很有可能在那个上搞砸了一些东西。我刚刚再次测试它并且它正在工作 - 很奇怪。我正在 Firefox 3.5 nightlies (Shiretoko) 和 Epiphany (webkit) 中进行测试。
-
另外,它很容易在最新的每晚中得到修复。我应该保留旧版本进行测试。
标签: javascript regex replace