jQuery在focusout上替换

jQuery在focusout上替换,jquery,regex,replace,Jquery,Regex,Replace,我已经在这个论坛上阅读了很多次,但现在我有一个自己的问题。我需要将字符串01.01.2014替换为1。1.2014年。我无法找到解决方案。这是我最近的一次 $('#date').focusout(function () { var strText = $(this).val(); strReplaceAll = strText.replace( new RegExp( "01", "g" ), "1. " ); alert(strReplaceAll); }); 但是,这将返回字符

我已经在这个论坛上阅读了很多次,但现在我有一个自己的问题。我需要将字符串
01.01.2014
替换为
1。1.2014年。
我无法找到解决方案。这是我最近的一次

$('#date').focusout(function () {
  var strText = $(this).val();
  strReplaceAll = strText.replace( new RegExp( "01", "g" ), "1. " );
  alert(strReplaceAll);
});
但是,这将返回字符串
1。1.214

我在tre RegExp字符串中尝试了
.01
,但返回
1。1.21.

看来我不能用“01”。那么如何做到这一点呢?希望有人能帮我解决这个问题


Michael您显示的regexp似乎不正确。是否应取代2014年2月2日、2023年3月15日等?如果是,则应使用此替换:

s.replace(/0(\d+)\./g, '$1. ')
示例:

'01.01.2014'.replace(/0(\d+)\./g, '$1. ') // replaces to "1. 1. 2014"
'23.04.2029'.replace(/0(\d+)\./g, '$1. ') // replaces to "23.4. 2029"
'01.11.2029'.replace(/0(\d+)\./g, '$1. ') // replaces to "1. 11.2029"
另一个解决方案(没有正则表达式)的行为与前一个解决方案完全相同:

s = '01.01.2014'
s.split('.').map(parseFloat).join('. ') // replaces to "1. 1. 2014"

在JavaScript中,您可以使用:

var myregexp = /\b0(\d)\b/g;
result = subject.replace(myregexp, "$1");

效果很好。非常感谢你!