要求是这样的有一个字符串数字(信用卡卡号)
1111222233334444
用户会输入这样的一串卡号为了展示方便我想在输入的时候检测,如果是输入了4个数字后做一次处理,增加一个短横线“-”
比如
最终结果是:1111-2222-3333-4444
那在我输入的时候我会动态的用这个正则表达式去检测第一步:把原有的“-”全部先干掉
第二步:根据正则表达式重新按4位插入“-”这样做的好处就是在输入的过程中用户可以进行任意修改,修改后自动的重新按4位隔开
小弟正则表达式不熟,请教高手
1111222233334444
用户会输入这样的一串卡号为了展示方便我想在输入的时候检测,如果是输入了4个数字后做一次处理,增加一个短横线“-”
比如
最终结果是:1111-2222-3333-4444
那在我输入的时候我会动态的用这个正则表达式去检测第一步:把原有的“-”全部先干掉
第二步:根据正则表达式重新按4位插入“-”这样做的好处就是在输入的过程中用户可以进行任意修改,修改后自动的重新按4位隔开
小弟正则表达式不熟,请教高手
function a(o)
{
var c=o.value.replace(/[\-]/g,'');//获取原始输入内容
o.value=c.length>0?c.match(/[\d]{4}|[\d]{1,}/g).toString().replace(/[\,]/g,'-'):c;
}
<script language="javascript" type="text/javascript">
function IsNum(e) {
var k = window.event ? e.keyCode : e.which;
if (((k >= 48) && (k <= 57)) || k == 8 || k == 0) {
var t = $("#Text1").val();
t = t.replace(/\-/g, "");
t = t.replace(/(\d{4})/g, "$1-");
$("#Text1").val(t);
} else {
if (window.event) {
window.event.returnValue = false;
}
else {
e.preventDefault(); //for firefox
}
}
}
</script>