如何使用javascript regexp进行不区分大小写的全局搜索并使用以下模式替换字符串:
[media id="5"] 要么 [Media id=5]
并完全替换为:
http://someurl/?somevar=THE_ID_FROM_THE_PATTERN
Run Code Online (Sandbox Code Playgroud)
所以基本上,这样的事情:
var mystring = '<img src="[media id=5]" />';
Run Code Online (Sandbox Code Playgroud)
应转换为:
var newstring = '<img src="http://someurl/?somevar=5" />';
Run Code Online (Sandbox Code Playgroud) 我试图让一个简单的WebSocket示例在我的机器上工作(localhost),我得到JavaScript和C#运行得很好并且连接,除了Chrome握手后断开连接.
我整个上午都在搜索,我认为它与相同的域策略有关,正如另一个"问题"所示,我已将浏览器更新到最新版本(12.xxx).
但是,我无法找到解决问题的方法.
我在C#端使用:
ConnectionOrigin = "http://localhost:8080";
ServerLocation = "ws://localhost:8181/test";
Run Code Online (Sandbox Code Playgroud)
我使用从磁盘直接打开的普通HTML文件(file:///在URL栏上)运行JavaScript .我也尝试过使用XAMPP在本地托管它,但我总是遇到同样的问题.
附加了C#程序的日志输出:
New connection from 127.0.0.1:8181 requested. Handshaking ...
Reading handshake ...
GET /test HTTP/1.1
Upgrade: WebSocket
Connection: Upgrade
Host: localhost:8181
Origin: null
Sec-WebSocket-Key1: R 506 I 2D }6 qFB G0`@88J? 4
Sec-WebSocket-Key2: y 20 8403!24 L 5 8
Sending handshake ...
HTTP/1.1 101 Web Socket Protocol Handshake
Upgrade: WebSocket
Connection: Upgrade
WebSocket-Origin: http://localhost:8080
WebSocket-Location: ws://localhost:8181/test
New connection from 127.0.0.1:8181 established.
http://localhost:8080
Data …Run Code Online (Sandbox Code Playgroud) 在回答另一个问题时,我正在使用此模式递归调用函数:
(function() {
// ...
if(should_call_again) arguments.callee();
})();
Run Code Online (Sandbox Code Playgroud)
哪个有效.我得到了反馈,命名函数也有效:
(function func() {
// ...
if(should_call_again) func();
})();
Run Code Online (Sandbox Code Playgroud)
然而,这种技术,window.func是undefined,里面传来一个让我吃惊.
如果我简单地说,我的问题是:为什么以下是真的?
function a() {}
typeof window.a; // "function"
(function b() {})
typeof window.b; // "undefined"
Run Code Online (Sandbox Code Playgroud)
b内部 仍然可以访问b.所以它似乎( )创建了另一个范围,但情况并非如此,因为只有函数创建另一个范围,而我只是将其包装在内部( ).
那么为什么包装函数( )不将函数放入全局对象?
是否可以使用 JavaScript 或 jQuery 在用户键入时更改文本输入字段的内容?
例如,键入a + up会将 更改a为å,同时将输入光标保持在同一位置。
jQuery现在很受欢迎,其中一个原因或加分是它被认为是一个非常轻量级的库.我的问题是究竟是什么使它成为一个lightweigt图书馆?它是代码编写的方式还是事件处理机制或者它与DOM有关?
另外,与使用普通Javascript(例如更流畅的动画效果)相比,使用jQuery的任何Web应用程序的性能要好得多.
它们之间的区别在于PHP urlencode编码空格+而不是%20?
对这两种语言执行相同操作的功能有哪些?
你能解释一下为什么这个对象不理解'这个'吗?
var circle = {
radius : 20,
x : 100 - this.radius / 2,
y : 100 - this.radius / 2,
}
console.log(circle.x) // returns NaN, why?
Run Code Online (Sandbox Code Playgroud) 我正在制作画布动画,其中一个图像应该是钻石。
现在,我得到了这样的信息:
ctx[0].beginPath();
ctx[0].moveTo(0,-80);
ctx[0].lineTo(-60,-130);
ctx[0].lineTo(-36,-160);
ctx[0].lineTo(36,-160);
ctx[0].lineTo(60,-130);
ctx[0].closePath();
ctx[0].fillStyle = "rgba(175,175,255,0.7)";
ctx[0].fill();
Run Code Online (Sandbox Code Playgroud)
它绘制了一个简单的浅蓝色半透明钻石形状。
这太简单了,但我在“颜色”方面遇到了严重的问题。我猜类似玻璃的东西应该可以解决这个问题,但到目前为止我还没有发现任何有用的东西。如果有帮助的话,我可以根据需要添加尽可能多的线条,但颜色是我的主要问题。
这将是预渲染的,所以长而复杂的代码不是什么大问题。不过,我宁愿不使用图像。
总结一下:我需要画布的玻璃效果。有任何想法吗?
我希望能够通过给出值的非符号路径来设置私有对象的属性.困难在于此对象在闭包内,因此我无法直接访问它以正常方式设置值(例如.dot.notation.path = 'new value').这看起来很奇怪,但我想不出明显的方法.
例:
// setter function
function set(path, change){
var privateObject = {
a: 'a',
b: 'b',
c: {
d: 'd',
e: 'e'
}
}
privateObject[path] = change;
return privateObject;
}
// execution
var result = set('c.d', 'new value');
// desired result
//{
// a: "a"
// b: "b"
// c: {
// d: "new value",
// e: 'e'
// }
//}
// actual result
//{
// a: "a"
// b: "b"
// c: …Run Code Online (Sandbox Code Playgroud) 我测试了以下正则表达式的美国价格(分隔符逗号,分隔符点)运行正常:
^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(\.[0-9]{2})?$
Run Code Online (Sandbox Code Playgroud)
它有效,30,000.000的价格被拒绝.只接受2位小数.
我试图交换它们来处理欧洲价格:
^[1-9][0-9]{0,2}(?:.?[0-9]{3}){0,3}(\,[0-9]{2})?$
Run Code Online (Sandbox Code Playgroud)
但它不起作用,接受30,000,000的价格,这是错误的.只接受2位小数.
这2个正则表达式有什么问题?