[英]How to use regex for with a fetch XML result in javascript
我正在使用 JavaScript 和 fetch XML 在 HTML 文件中提取用户名:
HTML:
<p class="names"></p>
JavaScript:
var username;
var fetchXml = "fetch version='1.0' output-format='xml-platform'>" +
"<entity name='systemuser'>" +
"<attribute name='fullname'>" +
"</entity>" +
"</fetch>";
DataBase.fetch("systemuser", fetchXml, function (results) {
if (results.value != null)
username = results.value[0].fullname;
})
$(".names").html(username);
console.log("username =", username);
这有效,控制台显示以下结果:
username = Potter, Harry
我正在尝试添加一个正则表达式来删除逗号之前的所有字符,以便结果变为:
username = Harry
因此,如果出现上述情况,我将以下内容添加到 JavaScript 中:
if (results.value != null)
username = results.value[0].fullname;
username = new RegExp(^[^_]*, );
但是,它返回错误 JavaScript。 我知道至少语法是错误的,但我不知道如何自己纠正。 对此的任何帮助将不胜感激。 谢谢
你应该改变RegExp(^[^_]*, );
到正则RegExp(^[^_]*, );
或/^[^_]*,/
以获得正确的语法。 但我认为你想要的是
if (results.value != null)
username = results.value[0].fullname.replace(/^.*,\s*/,"");
从开头( ^
)到最后一个逗号以及该逗号( \s*
)之后的所有空格都需要任何内容( .*
),然后什么都不替换
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.