Tag: JavaScript

如何testing有效的UUID / GUID?

如何检查variables是否包含有效的UUID / GUID标识符? 我目前只对validationtypes1和4感兴趣,但是对于您的答案并不限制。

瞬间jsdate时间比较

我正在使用moment.js格式化我的date时间,在这里我有两个date值,并且我想在一个date大于另一个date时实现特定的function。 我读了大部分的文档,但是没有find实现这个function的function。 我知道它会在那里,请帮我找出来,谢谢。 这是我的代码 var date_time = 2013-03-24 + 'T' + 10:15:20:12 + 'Z' var d = moment(date_time).tz('UTC'); // first date var now = new Date(), dnow = moment(now).tz('UTC'), snow = dnow.minute() % 15, diffnow = 15 – snow, tonow = moment(dnow).add('minute', diffnow), ahead30now = moment(tonow).add('minute', 30); if (d > ahead30now) { // allow input […]

提交表单并保持在同一页面上?

我有一个看起来像这样的表单 <form action="receiver.pl" method="post"> <input name="signed" type="checkbox"> <input value="Save" type="submit"> </form> 我想保持在同一页面上,当点击提交,但仍然有receiver.pl执行。 应该怎么做?

你如何在d3.js中创build一棵家族树?

我目前正在做一个小型的家谱实验,想要实现一个简单的家谱,如下图所示。 迄今为止,最好的search结果只能得出一个例子,其中一个孩子只能有一个父节点。 但是我需要的是能够创build实体之间的链接(从父亲到母亲)以及节点和其他链接(从孩子到父母链接)之间的链接。 目前我没有一个固定的数据模式。 我select了d3.js , 因为它看起来能够完成这项工作 。 我只是不知道如何甚至从哪里开始。 有关d3.js的教程仅涵盖像条形图这样的标准图表。 我希望有人能帮助我。

JavaScript中的程序性重音减less(又称文本正常化或不起作用)

我需要比较2个string,如下所示: 吕贝克==吕贝克 在JavaScript中。 为什么? 那么,我有一个自动完成的领域,出去到一个Java服务使用Lucene的地方名称是自然存储(如吕贝克),但也索引为规范化的文本, import sun.text.Normalizer; oDoc.setNameLC = Normalizer.normalize(oLocName, Normalizer.DECOMP, 0) .toLowerCase().replaceAll("[^\\p{ASCII}]",""); 通过这种方式,不知道input“墨西哥”的人可以input“墨西哥”,并获得返回“墨西哥”的比赛(其他可能的命中,如“墨西哥咖啡馆,迪拜,阿联酋”)。 现在的事情是我没有能力改变服务在服务器端进行任何突出显示,所以我在客户端JavaScript端强调如下: return result.replace( input.replace(/[aeiou]/g,"."), "<b>$1</b>"); 这是多一点花式,因为我在input中逃避特殊的正则expression式字符。 这对一个单词在匹配开始时的简单匹配是很好的,但是如果你突然想要支持像“伦敦咖啡馆”这样的多字匹配的话, input = input.strip().toLowerCase(); //fyi prototype's strip is like trim re = new RegEx(input.replace(/[aeiou]/g,".").replace(/\s+/g,"|"),"gi"); return result.replace(re, "<b>$1</b>"); 这不适用于说“伦敦咖啡”,因为它会将“加拿大道森城杰克伦敦小屋”标记为: "Ja<b>ck</b> <b>London</b> <b>ca</b>bin, Dawson <b>Ci</b>ty, <b>Ca<b/>nada"伦敦咖啡” "Ja<b>ck</b> <b>London</b> <b>ca</b>bin, Dawson <b>Ci</b>ty, <b>Ca<b/>nada" “,特别是”ck“和”Ci“ 所以我在寻找一些不像以下那样疯狂的东西: input = input.strip().toLowerCase(); […]

Javascript函数的数组

var array_of_functions = [ first_function('a string'), second_function('a string'), third_function('a string'), forth_function('a string') ] array_of_functions[0]; 这不能按预期工作,因为数组中的每个函数都是在创build数组时执行的。 在数组中执行任何函数的正确方法是: array_of_functions[0]; // or, array_of_functions[1] etc. 谢谢!

JavaScript:如果IE7或IE8兼容模式,我可以检测IE9吗?

我需要知道如果浏览器通过用户代理string标识为IE7或IE8真的是那些浏览器,或者是否在IE9在7或8兼容模式。 从我在用户代理string中可以看到的一个在IE7兼容模式下的IE9,为真实的IE7提供了一个相同的string。 是否有一个额外的属性/元素/对象,我可以testing,看看它是真的“真的”变相的IE9? 我假设文档模式将无法帮助,因为我的脚本加载到的页面可能是强迫怪异或强制一个特定的设置。 我希望IE9将有一些存在的属性,可testing,无论是在7,8或9模式。 编辑添加… 好的,我明白我现在要去哪里了。 我正在使用“浏览器模式”下拉菜单,并将其切换到IE8和IE7,并认为这是“IE8兼容模式”和“IE7兼容模式”分别。 这当然是不正确的。 开发人员工具的浏览器模式确实是将其切换为“像”那些旧的浏览器,所以只报告原始的useragentstring。 如果我将浏览器模式保留在IE9或IE9兼容性下,并尝试使用文档模式下拉变体,那么我确实会在所有8种组合(两种浏览器模式和4种文档模式)下都显示“Trident / 5.0”。 我只需要避开select浏览器模式IE7和IE8,因为他们真的是(模拟)IE7和IE8。 因此,页面,非开发人员用户,元标记或Microsoft的兼容性列表将无法将IE9置于无法识别的状态。 只要使用if(navigator.userAgent.indexOf("Trident/5")>-1)就足够了。 不要担心,这不适用于样式,格式,逻辑或页面内容。 我使用function检测这些东西。 我只需要检测IE9(不pipe它在哪个模式),并做出一个非页面内容的决定。 感谢您的build议和链接指导我的答案。

gulp concat脚本按顺序?

比方说,你正在build立一个骨干或其他任何项目,你需要按照一定的顺序加载脚本,例如“underscore.js”需要在“backbone.js”之前加载。 我如何得到它的脚本,以便它的顺序? // JS concat, strip debugging and minify gulp.task('scripts', function() { gulp.src(['./source/js/*.js', './source/js/**/*.js']) .pipe(concat('script.js')) .pipe(stripDebug()) .pipe(uglify()) .pipe(gulp.dest('./build/js/')); }); 我在source / index.html中有正确的脚本顺序,但由于文件是按字母顺序组织的,gulp会在backbone.js之后进行concat下划线,而在我的source / index.html中脚本的顺序并不重要,它会查看目录中的文件。 那么有没有人有这个想法? 我最好的想法是用1,2,3来重命名供应商脚本,给他们正确的顺序,但我不确定我是否喜欢这个。 编辑:正如我学到更多,我发现browserify是一个很好的解决scheme,它可以是一个痛苦,但它是伟大的。

如何在谷歌浏览器中设置embedded式JavaScript中的断点?

当我在Google Chrome中打开开发者工具时,我会看到各种各样的function,例如个人档案,时间轴和审计,但是能够在js文件中以及在html和javascript代码中设置断点的基本function已经丢失! 我试图使用JavaScript控制台,这本身就是越野车 – 例如,一旦遇到JS错误,我不能摆脱它,除非我刷新整个页面。 有人可以帮忙吗?

JavaScript中的快速因子函数

在JavaScript中寻找一个真正的快速实现阶乘函数。 有什么build议?