网站搜索

正则表达式 - 我如何使用 Javascript 从字符串中间提取文本?

我有这些字符串:

baseUrl = "http://www.example.com" baseUrl = "https://secure.example-server.com:443"

有人能告诉我如何从 baseUrl 提取服务器信息,以便我可以获取“example”和“example-server”吗

答案#1

你可以使用 regex:

baseUrl.match(/\.(.*?)\.co/i)[1];

正则表达式解释

  1. /:regex的分隔符
  2. \.:匹配 . 字面量(需要转义)
  3. ():捕获组
  4. .*

    阅读更多 →

javascript 如何检查一个 URL 是否与当前页面同源?

我如何检查一个特定的 URL 字符串是否与当前页面来自相同的来源/主机?例如,如果我想绑定链接,但只阻止对同一主机的链接的默认行为...

答案#1

如今使用这个应该是安全的:

function sameOrigin(a, b) { const urlA = new URL(a); const urlB = new URL(b); return urlA.origin === urlB.origin; } console.lo

阅读更多 →

如何使用 Jquery 或 Javascript 在原始字符串中更改 HTML 属性?

我想把一堆锚点标签处理一下,确保它们都在新标签页中打开。

我知道我应该做类似这样的事情 $ ('a').attr('target', '_blank');,但问题是我试图修改的 HTML 位于一个字符串变量中。

看例子:

我有一堆像这样的原始 HTML 字符串:

var rawHTML = 'Hello there, <a href="http://www.googl

阅读更多 →

javascript - 为谷歌地图中的每个标记分配信息窗口

我在将信息窗口分配给地图上的每个标记时遇到了问题。

JS 代码:

for (i=0;i<location.length;i++){ var id = location[i][0]; var name = location [i][1]; var pos = new google.maps.LatLng(location[i[3],location[i][4]); var contentString = id; var infowindow = new google.maps.InfoWindow({content:contentStrin

阅读更多 →

javascript - 尽管启用了实验性 JS,ECMAScript 6 仍然无法工作

我有最新的 Chrome 版本(45 以及 Chrome Canary,其版本为 47),两者都启用了实验性 JavaScript 标志。我想使用 ECMAScript 6,但它不起作用。我不知道为什么。有没有什么技巧或者必须启用的其他标志?

ECMAScript 6 的每一个保留字(例如 import、class 等)在 Chrome 45 中都会抛出 “未捕获的 SyntaxError:意外的保留字”,而在 Chrome Canary 中则会抛出 “未捕获的 SyntaxError:意外的标记 import” 错误。

几个月前我问过这个问题,但没有得到任何答案,只是被标记为“可能重复”使用 ECMAScript 6,但这并没有解决我的问题。

我想使用模块,因为我更喜欢 ECMAScript 模块,而不是使用 CommonJS 的 require。而且我

阅读更多 →

javascript - 子窗口打开时如何阻止刷新父页面?

当我点击链接打开子窗口时,父页面会自动刷新。我该如何阻止它?

打开子窗口时父页面不应该刷新。如何做到这一点?请帮帮我。

我的代码如下所示:

<html> <head> <title>login</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script type="text/javascript"> var popup; function Show

阅读更多 →

javascript - 如何将这个 node.js 模块降级到特定版本并防止以后自动升级?

我正在使用 node.js 的 Nodemailer 模块,遇到了以下错误;

[错误:不支持的配置,请将 Nodemailer 降级到 v0.7.1 或查看迁移指南 https://github.com/andris9/Nodemailer#migration-guide]

我看了我的 package.json,并意识到它是 "nodemailer": "^1.8.0",

阅读更多 →

javascript - CSS 无限滚动的 div

嗨,我正在尝试让 div 用简单的 CSS 动画滚动。

问题是它循环得不好,因为在重新开始滚动之前有一点闪烁。

这是代码: https://jsfiddle.net/by6tx4o0/2/

.c{ position:relative; background:red; max-height:200px; float:left; width:300px; height:300px; overflow:hidden; overflow-y:auto; } .card-home{ position:absolute; margin:20px; top:0;

阅读更多 →

javascript - Restangular - _.contains() 不是一个函数

如果你最近通过 bower 更新了 restangular,它将安装最新的 lodash —— 新的 4.0。但是这是一个问题,因为 restangular/angular 现在会抛出错误——“_.contains() 不是一个函数。”

你如何解决?

答案#1

解决方案非常简单——你需要告诉 Restangular 使用低于最新版本 lodash 的版本——3.10.0

通过 bower.json

"lodash": "~3.10.0"

https://github.com/mgonto/rest

阅读更多 →

javascript - 用正则表达式匹配 m: ss 用于输入验证

我一直在努力创建一个正则表达式以实现以下目标:

  • 分钟只用一个数字(0到9);
  • 秒数只能是两个数字(00 到 59);
  • 必须采用 m:ss 格式。

到目前为止,我有这个:^(?:([0]{0}?\d):)?([0-5]{1}?\d)$

然而,例如案例00似乎正在通过,但它不应该通过,因为它不符合m:ss格式。

答案#1

你的正则表达式 - ^(?:([0]{0}?\d):)?([0-5]{1}?\

阅读更多 →