2
저는 이전에 JavaScript (VB.NET)에 익숙하지 않았으며 언어를 이해하지 못했습니다. 자바 스크립트에서 전달되는 문자열에 어떻게 든 유니 코드 이스케이프 문자가 포함되어있는 문제가 있습니다 (0x5206, 왼쪽에서 오른쪽으로 표시). 유니 코드 문자의 존재를 확인하고 그것을 제거하는 벙어리 루프를 사용하여이 작업을 수행 할 수 있지만 .replace (regex)를 사용하여이 작업을 수행 할 수 있어야합니다. 그러나 몇 시간 후에 나는 그것을 (처음 정규식을하는) 도움이 필요해. 코드에서 문자열에서 javascript unicode 문자 8206을 벗기기
// Convert from JS date format to dotnet ticks
function getNetDateTime(JSDate, dateortime) {
var convStr = JSDate.toLocaleString();
var tryRegEx = convStr.replace(/\u5206/g, "");
var tempStr = "1/01/2000 10:00:00 AM";
var stripStr = "";
for (var i = 0; i < convStr.length; i++) {
if (convStr.charCodeAt(i).toString() != "8206") stripStr = stripStr + convStr.charAt(i);
}
alert(new Date(tempStr).toString());
alert(new Date(tryRegEx).toString());
alert(new Date(stripStr).toString())
var datetime = ((new Date(stripStr).valueOf() + unixEpoc) * pcTicks).toString();
return datetime;
}
위, tempStr 및 stripStr는 정확한 날짜가 아닌 tryRegEx을 (유니 코드 이스케이프 문자가 밖으로 제거되지 않는 잘못된 날짜를 가져옵니다) 제공합니다. 나는 정규 표현식이 정확하다는 것을 확신한다. 왜 정규 표현식이 나를 위해 작동하지 않는지 (그래서 나는 루프를 빠져 나갈 수있다).
모든 포인터 주셔서 감사합니다. 나는 여기에 기본적인 것을 간과하고있을 것이라고 확신한다. :-)
아 - 내가보기 엔 유니 코드 문자를 사용하지 않았고 그들은 2 개의 분리 된 바이트 (82 + 06 dec 또는 52 + 06 16 진수) 였을 때 (200E hex = 8206 dec). 그게 내가 놓친거야. 고마워! – deandob