小编Kip*_*Kip的帖子

如何检查正则表达式中的两个子表达式中是否至少有一个匹配?

我试图将浮点十进制数与正则表达式匹配.小数点前可能有也可能没有数字,小数可能存在也可能不存在,如果存在则可能有或没有数字.(对于此应用程序,不允许使用前导+/-或尾随"E123").我写了这个正则表达式:

/^([\d]*)(\.([\d]*))?$/
Run Code Online (Sandbox Code Playgroud)

哪个正确匹配以下内容:

1
1.
1.23
.23
Run Code Online (Sandbox Code Playgroud)

但是,这也匹配空字符串或只是小数点的字符串,这是我不想要的.

目前我在运行正则表达式后检查$ 1或$ 3的长度大于0.如果不是,则无效.有没有办法可以在正则表达式中直接执行此操作?

regex syntax

7
推荐指数
1
解决办法
232
查看次数

使用Google托管的jquery-ui.js让主题在jQueryUI中工作的问题

我是jQueryUI的新手,我想我忽略了一些非常基本的东西......

快速描述我的问题

我使用ThemeRoller下载了一个jQueryUI主题,它也生成了一个jQueryUI javascript文件.我宁愿使用Google(http://ajax.googleapis.com/ajax/libs/jqueryui/1.5.3/jquery-ui.min.js)托管的文件,但是当我这样做时,主题就不会被选中.我发现很难相信我必须使用ThemeRoller生成的脚本,因为如果是这种情况那么谷歌托管的jQueryUI将完全没用!我在这做错了什么?


更多细节

所以我从Themeroller下载了"Smoothness"主题如下:

  1. 转到ThemeRoller网站.
  2. 单击"图库"按钮.
  3. 点击"平滑度"主题下方的"下载"按钮.
  4. 将.zip文件(使用文件夹名称)解压缩到本地目录(例如C:\jqueryui_test).

现在,我test.html在同一目录中创建了一个非常简单的文件,其中包含以下内容:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link type="text/css" href="ui.all.css" rel="stylesheet" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.5.3/jquery-ui.min.js"></script>
<script type="text/javascript">
$(function() {
  $("#datepicker").datepicker({inline: true});
});
</script>
</head>
<body>
<div id="datepicker"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

当我test.html在浏览器中打开时,日期选择器组件没有样式(没有背景图像或任何东西).但是,如果我将Google托管的jquery-ui.min.js行更改为ThemeRoller生成的行(<script type="text/javascript" src="jquery.ui.all.js"></script>),则页面将按预期进行样式设置.


更新 我接受的答案并非真正的最终解决方案,但它让我走上了正确的道路.事实证明,如果你只是下载JQueryUI,你会得到很多东西.Google托管的文件只能替换"jquery.ui.all.js"文件,但您仍需要"themes"目录.另外,Themeroller主题在1.5.3(甚至是"1.5.3用户"链接)上也不能很好地工作.由于这只是一个管理页面,我只是使用了内置的"flora"主题.看起来jQuery UI 1.6要好得多,但它还没有"稳定"发布(截至本文写作......).

jquery jquery-ui themeroller

7
推荐指数
1
解决办法
7402
查看次数

与Perl中的本地时间功能相反的是什么?

在Perl中,localtime取一个Unix时间戳并返回年/月/日/小时/分钟/秒等.我正在寻找相反的localtime:我有部分,我想从它们构建一个unix时间戳.

perl timestamp

7
推荐指数
3
解决办法
1万
查看次数

如何在AWS Lambda中使用加密环境变量?

我试图在Node.js 4.3中运行的AWS Lambda函数中使用加密的环境变量,但是在尝试解密变量时代码会挂起.我没有得到任何错误消息,它只是超时.这是我尝试过的:

我在与Lambda相同的区域中创建了加密密钥,并确保Lambda运行的角色可以访问密钥.(我甚至试过让角色完全掌控钥匙.)

创建Lambda时,我启用加密助手,选择我的加密密钥,并加密环境变量:

在此输入图像描述

接下来,我单击"代码"按钮,它给出了我应该在运行时处理解密的javascript代码.这是代码 - 我做的唯一更改是添加console.log语句,我添加了一个try/catch:

"use strict";

const AWS = require('aws-sdk');

const encrypted = process.env['DBPASS'];
let decrypted;


function processEvent(event, context, callback) {
    console.log("Decrypted: " + decrypted);
    callback();
}

exports.handler = (event, context, callback) => {
    if (decrypted) {
        console.log('data is already decrypted');
        processEvent(event, context, callback);
    } else {
        console.log('data is NOT already decrypted: ' + encrypted);
        // Decrypt code should run once and variables stored outside of the function
        // handler so that these are …
Run Code Online (Sandbox Code Playgroud)

encryption amazon-web-services node.js aws-sdk aws-lambda

7
推荐指数
1
解决办法
5341
查看次数

Typescript 枚举作为参数类型允许无效值

在 TypeScript 中,我定义了一个enum,然后我想要一个函数接受一个参数,该参数的值是枚举的值之一。然而,TypeScript 似乎没有对值进行任何验证,并且允许枚举之外的值。有没有办法做到这一点?

例子

enum myenum {
    hello = 1,
    world = 2,
}

const myfunc = (num:myenum):void => console.log(`num=${num}`);

myfunc(1);            // num=1 (expected)
myfunc(myenum.hello); // num=1 (expected)

//THE ISSUE: I'm expecting next line to be a TS compile error, but it is not
myfunc(7); // num=7
Run Code Online (Sandbox Code Playgroud)

选择

如果我使用 atype而不是enum我可以获得与我正在寻找的类似的东西,但我失去了枚举的一些功能。

type mytype = 1|2;
const myfunc = (num:mytype):void => console.log(`num=${num}`);

myfunc(1);
myfunc(7);  //TS Compile Error: Argument of type '7' is not assignable to …
Run Code Online (Sandbox Code Playgroud)

enums typescript

7
推荐指数
1
解决办法
2164
查看次数

如何编写java web服务来进行远程登录?

我有两个申请.我需要从应用程序a到应用程序b进行单点登录.

我想使用网络服务.我想知道我该如何处理这种方法.

任何人都可以建议吗?

java web-services

6
推荐指数
1
解决办法
1858
查看次数

如何在ColdFusion中的cfloop over query中获取动态属性名称

cfloop在一个查询中.我想获得一个属性,但是直到运行时我才知道该属性是什么.使用#qryResult[MyAttr]#失败并显示错误"复杂对象类型无法转换为简单值".这样做的语法是什么?

这是一个简化的例子:

<cfquery datasource="TestSource" name="qryResult">
    SELECT * FROM MyTable
</cfquery>

<cfloop query="qryResult">
    <cfset MyAttr="autoid" />
    <cfoutput>
        Test 1: #qryResult.autoid# <br/>  <!--- succeeds --->
        Test 2: #qryResult[MyAttr]# <br/> <!--- fails --->
    </cfoutput>
</cfloop>
Run Code Online (Sandbox Code Playgroud)

coldfusion cfloop

6
推荐指数
1
解决办法
4103
查看次数

从ColdFusion访问映射的网络驱动器

我在ColdFusion中访问映射驱动器时遇到问题.我已\\server\files\sharing映射到z:\.如果我运行此代码,它表示该目录存在完整路径但不存在映射的目录:

<cfscript>
  fullPath = "\\server\files\sharing\reports";
  mappedPath = "z:\reports";

  WriteOutput("fullPath exists: #DirectoryExists(fullPath)#<br/>"); //YES
  WriteOutput("mappedPath exists: #DirectoryExists(mappedPath)#");  //NO
</cfscript>
Run Code Online (Sandbox Code Playgroud)

我做了一些谷歌搜索并找到了一些有同样问题的人,但解决方案始终是使用完整路径.ColdFusion是否有理由无法查看或访问映射驱动器?如果是这样,是否有任何变通方法(可能是系统调用以获取映射驱动器的完整路径)?

windows coldfusion networking file

6
推荐指数
1
解决办法
4036
查看次数

使用cfhttp上传文件会附加换行符(即使在二进制文件上)

更新:我找到了解决方法.如果我提交一个虚拟表单字段和文件,它可以工作.这是一个ColdFusion错误,还是HTTP规范中有些内容表明表单必须包含至少一个非文件表单字段?

更新2:我确信这是一个ColdFusion cfhttp错误.这是基于Leigh的答案以及我使用下面的代码使用javascript 使用文件元素提交表单的事实,并且它工作正常:

<form enctype="multipart/form-data" action="<cfoutput>#CGI.PATH_INFO#</cfoutput>" method="POST" name="theForm">
  <input name="theFile" type="file" /><br/>
</form>
<a href="#" onclick="document.theForm.submit()">submit</a>
Run Code Online (Sandbox Code Playgroud)

我在将文件从ColdFusion服务器上传到另一个Web服务器时遇到了问题.似乎cfhttpparam type="file"是不加选择地在文件末尾添加换行符(回车符和换行符).这打破了二进制文件.这,当我手动上传通过表单字段的文件发生.我尝试过有和没有mimetype参数,我试过用各种二进制格式(exe,zip,jpg)说谎mimetype,但没有任何效果.是否有一些我缺少的参数,或者这是ColdFusion中的一个错误?(我在WinXP上运行CF 8.0.1.195765.)

下面是我正在使用的测试代码,它只是将文件上传到同一目录.手动上载有效,但基于服务器的上载最终会将CRLF附加到文件中.

<cfset MyDir = "C:\test" />
<cfset MyFile = "test.zip" />

<cfif IsDefined("Form.TheFile")>
  <cffile action="upload" fileField="theFile" destination="#MyDir#" nameConflict="MakeUnique" />
<cfelse>
  <cfhttp url="http://#CGI.SERVER_NAME##CGI.SCRIPT_NAME#" method="POST" throwOnError="Yes">
    <cfhttpparam type="file" name="theFile" file="#MyDir#\#MyFile#" />
  </cfhttp>
</cfif>

<html><body>
<h2>Manual upload</h2>
<form enctype="multipart/form-data" action="<cfoutput>#CGI.PATH_INFO#</cfoutput>" method="POST">
  <input name="theFile" type="file" /><br/>
  <input type="submit" value="Submit" />
</form>
</body></html>
Run Code Online (Sandbox Code Playgroud)

forms coldfusion file-upload

6
推荐指数
1
解决办法
2136
查看次数

Javascript 字符串插值与字符串连接给出不同的结果

我遇到过一种情况,Javascript 字符串插值没有给出与字符串连接相同的结果。

这是显示差异的代码的简化版本:

const mmt = moment();
console.log('concatenated: ' + mmt); // "concatenated: 1651070909974"
console.log(`interpolated: ${mmt}`); // "interpolated: Wed Apr 27 2022 10:48:29 GMT-0400"
console.log('mmt.valueOf(): ' + mmt.valueOf()); // "mmt.valueOf(): 1651070909974"
console.log('mmt.toString(): ' + mmt.toString()); // "mmt.toString(): Wed Apr 27 2022 10:48:29 GMT-0400"
Run Code Online (Sandbox Code Playgroud)

所以我的第一反应是,这是由于.toString()和的差异造成.valueOf()的,所以我做了一个小测试对象来验证:

const obj = {
  toString: () => 'toString',
  valueOf: () => 'valueOf',
};

console.log('concatenated: ' + obj); // "concatenated: valueOf"
console.log(`interpolated: ${obj}`); // "interpolated: toString"
console.log('obj.valueOf(): ' + obj.valueOf()); // "obj.valueOf(): valueOf" …
Run Code Online (Sandbox Code Playgroud)

javascript interpolation concatenation ecmascript-6

6
推荐指数
1
解决办法
473
查看次数