在AM / PM之前添加空间

时间:2017-04-13 05:36:02

标签: javascript jquery time

我有一个像"06:35PM"这样的字符串。我想在上午/下午之前添加一个空格,结果是"06:35 PM"

var timeValue = "06:35PM";
var hours = Number(timeValue.match(/^(\d+)/)[1]);
var minutes = Number(timeValue.match(/:(\d+)/)[1]);
var AMPM = timeValue.match(/\s(.*)$/)[1];
travelInfo.PreCruise[field] = hours + ":" + minutes + " " + AMPM;

但是在第4行,我收到了这个错误:Cannot read property '1' of null

如何编写正则表达式来执行此操作?

7 个答案:

答案 0 :(得分:1)

怎么样?:

str.replace("A", " A").replace("P", " P");

答案 1 :(得分:1)

只需执行一次替换而不解析数字:

timeValue = timeValue.replace(/[AP]/, " $&");

var timeValue = "06:35PM";
timeValue = timeValue.replace(/[AP]/, " $&");
console.log(timeValue);

正则表达式[AP]AP匹配。替换字符串具有您想要的空间,$&表示“插入此处匹配的任何内容”,这意味着如果$&AA将采用值P匹配,或P,如果它是匹配的 $(document).ready(function() { $("#section1").click(function() { $("#section2").toggle(); $("#section3").toggle(); $("#section4").toggle(); $("#section5").toggle(); }); }); $(document).ready(function() { $("#section2").click(function() { $("#section1").toggle(); $("#section3").toggle(); $("#section4").toggle(); $("#section5").toggle(); }); }); $(document).ready(function() { $("#section3").click(function() { $("#section2").toggle(); $("#section1").toggle(); $("#section4").toggle(); $("#section5").toggle(); }); }); $(document).ready(function() { $("#section4").click(function() { $("#section2").toggle(); $("#section3").toggle(); $("#section1").toggle(); $("#section5").toggle(); }); }); $(document).ready(function() { $("#section5").click(function() { $("#section2").toggle(); $("#section3").toggle(); $("#section4").toggle(); $("#section1").toggle(); }); }); $(document).ready(function() { $("#section1text").click(function() { $("#section2").toggle(); $("#section3").toggle(); $("#section4").toggle(); $("#section5").toggle(); }); }); $(document).ready(function() { $("#section2text").click(function() { $("#section1").toggle(); $("#section3").toggle(); $("#section4").toggle(); $("#section5").toggle(); }); }); $(document).ready(function() { $("#section3text").click(function() { $("#section2").toggle(); $("#section1").toggle(); $("#section4").toggle(); $("#section5").toggle(); }); }); $(document).ready(function() { $("#section4text").click(function() { $("#section2").toggle(); $("#section3").toggle(); $("#section1").toggle(); $("#section5").toggle(); }); }); $(document).ready(function() { $("#section5text").click(function() { $("#section2").toggle(); $("#section3").toggle(); $("#section4").toggle(); $("#section1").toggle(); }); });

答案 2 :(得分:0)

s替换为S作为s找到您不具备的空白字符,

var AMPM = timeValue.match(/\S(.*)$/)[1];

答案 3 :(得分:0)

或许可以像在最后两个字母之前添加空格一样简单

<强>演示

&#13;
&#13;
5
&#13;
&#13;
&#13;

答案 4 :(得分:0)

你可以这样做

var timeValue = "06:35PM";
// get the last two characters
var last2 = timeValue.slice(-2);
// Create a substring removing the last two characters
var x = timeValue.substr(0, timeValue.length-2)
// concat them adding a space in between
var t = x+' '+last2
console.log(t)

答案 5 :(得分:0)

.as-console-wrapper { max-height: 100% !important; top: 0; }
{{1}}

答案 6 :(得分:0)

试试这个正则表达式。

/\S(.*)$/

希望它有所帮助。