Format phone number 格式化电话号码
  TnD0WQEygW8e 2023年11月19日 20 0

========================

Format phone number:

(123)456-7890

========================

<script language="javascript">     
var zChar = new Array(' ', '(', ')', '-', '.');      
var maxphonelength = 13;      
var phonevalue1;      
var phonevalue2;      
var cursorposition;      
function ParseForNumber1(object){      
phonevalue1 = ParseChar(object.value, zChar);      
}      
function ParseForNumber2(object){      
phonevalue2 = ParseChar(object.value, zChar);      
}      
function backspacerUP(object,e) {       
if(e){       
e = e       
} else {      
e = window.event       
}       
if(e.which){       
var keycode = e.which       
} else {      
var keycode = e.keyCode       
}      
ParseForNumber1(object)      
if(keycode >= 48){      
ValidatePhone(object)      
}      
}      
function backspacerDOWN(object,e) {       
if(e){       
e = e       
} else {      
e = window.event       
}       
if(e.which){       
var keycode = e.which       
} else {      
var keycode = e.keyCode       
}      
ParseForNumber2(object)      
}       
function GetCursorPosition(){      
var t1 = phonevalue1;      
var t2 = phonevalue2;      
var bool = false      
for (i=0; i<t1.length; i++)      
{      
if (t1.substring(i,1) != t2.substring(i,1)) {      
if(!bool) {      
cursorposition=i      
bool=true      
}      
}      
}      
}      
function ValidatePhone(object){      
var p = phonevalue1      
p = p.replace(/[^\d]*/gi,"")      
if (p.length < 3) {      
object.value=p      
} else if(p.length==3){      
pp=p;      
d4=p.indexOf('(')      
d5=p.indexOf(')')      
if(d4==-1){      
pp="("+pp;      
}      
if(d5==-1){      
pp=pp+")";      
}      
object.value = pp;      
} else if(p.length>3 && p.length < 7){      
p ="(" + p;       
l30=p.length;      
p30=p.substring(0,4);      
p30=p30+")"      
p31=p.substring(4,l30);      
pp=p30+p31;      
object.value = pp;       
} else if(p.length >= 7){      
p ="(" + p;       
l30=p.length;      
p30=p.substring(0,4);      
p30=p30+")"      
p31=p.substring(4,l30);      
pp=p30+p31;      
l40 = pp.length;      
p40 = pp.substring(0,8);      
p40 = p40 + "-"      
p41 = pp.substring(8,l40);      
ppp = p40 + p41;      
object.value = ppp.substring(0, maxphonelength);      
}      
GetCursorPosition()      
if(cursorposition >= 0){      
if (cursorposition == 0) {      
cursorposition = 2      
} else if (cursorposition <= 2) {      
cursorposition = cursorposition + 1      
} else if (cursorposition <= 5) {      
cursorposition = cursorposition + 2      
} else if (cursorposition == 6) {      
cursorposition = cursorposition + 2      
} else if (cursorposition == 7) {      
cursorposition = cursorposition + 4      
e1=object.value.indexOf(')')      
e2=object.value.indexOf('-')      
if (e1>-1 && e2>-1){      
if (e2-e1 == 4) {      
cursorposition = cursorposition - 1      
}      
}      
} else if (cursorposition < 11) {      
cursorposition = cursorposition + 3      
} else if (cursorposition == 11) {      
cursorposition = cursorposition + 1      
} else if (cursorposition >= 12) {      
cursorposition = cursorposition      
}      
var txtRange = object.createTextRange();      
txtRange.moveStart( "character", cursorposition);      
txtRange.moveEnd( "character", cursorposition - object.value.length);      
txtRange.select();      
}      
}      
function ParseChar(sStr, sChar)      
{      
if (sChar.length == null)       
{      
zChar = new Array(sChar);      
}      
else zChar = sChar;      
for (i=0; i<zChar.length; i++)      
{      
sNewStr = "";      
var iStart = 0;      
var iEnd = sStr.indexOf(sChar[i]);      
while (iEnd != -1)      
{      
sNewStr += sStr.substring(iStart, iEnd);      
iStart = iEnd + 1;      
iEnd = sStr.indexOf(sChar[i], iStart);      
}      
sNewStr += sStr.substring(sStr.lastIndexOf(sChar[i]) + 1, sStr.length);      
sStr = sNewStr;      
}      
return sNewStr;      
}      
</script>And edit the html code for the phone input textbox like the below one:
<input type="text" name="txtInput" onkeydown="javascript:backspacerDOWN(this,event);" onkeyup="javascript:backspacerUP(this,event);" />

From: http://www.kodyaz.com/content/howtoautoformattelephonenumber.aspx

 

========================

Format phone number:

(123) 456-7890

========================

<script language="javascript"> 
var zChar = new Array(' ', '(', ')', '-', '.');   
var maxphonelength = 14;    
var phonevalue1;    
var phonevalue2;    
var cursorposition; function ParseForNumber1(object){   
phonevalue1 = ParseChar(object.value, zChar);    
}    
function ParseForNumber2(object){    
phonevalue2 = ParseChar(object.value, zChar);    
} function backspacerUP(object,e) {    
if(e){     
e = e     
} else {    
e = window.event     
}     
if(e.which){     
var keycode = e.which     
} else {    
var keycode = e.keyCode     
} ParseForNumber1(object) 
if(keycode >= 48){   
ValidatePhone(object)    
}    
} function backspacerDOWN(object,e) {    
if(e){     
e = e     
} else {    
e = window.event     
}     
if(e.which){     
var keycode = e.which     
} else {    
var keycode = e.keyCode     
}    
ParseForNumber2(object)    
} function GetCursorPosition(){ 
var t1 = phonevalue1;   
var t2 = phonevalue2;    
var bool = false    
for (i=0; i<t1.length; i++)    
{    
if (t1.substring(i,1) != t2.substring(i,1)) {    
if(!bool) {    
cursorposition=i    
bool=true    
}    
}    
}    
} function ValidatePhone(object){ 
var p = phonevalue1 
p = p.replace(/[^\d]*/gi,"") 
if (p.length < 3) {   
object.value=p    
} else if(p.length==3){    
pp=p;    
d4=p.indexOf('(')    
d5=p.indexOf(')')    
if(d4==-1){    
pp="("+pp;    
}    
if(d5==-1){    
pp=pp+") ";    
}    
object.value = pp;    
} else if(p.length>3 && p.length < 7){    
p ="(" + p;     
l30=p.length;    
p30=p.substring(0,4);    
p30=p30+") " p31=p.substring(4,l30);   
pp=p30+p31; object.value = pp; 
} else if(p.length >= 7){   
p ="(" + p;     
l30=p.length;    
p30=p.substring(0,4);    
p30=p30+") " p31=p.substring(4,l30);   
pp=p30+p31; l40 = pp.length;   
p40 = pp.substring(0,9);    
p40 = p40 + "-" p41 = pp.substring(9,l40);   
ppp = p40 + p41; object.value = ppp.substring(0, maxphonelength);   
} GetCursorPosition() 
if(cursorposition >= 0){   
if (cursorposition == 0) {    
cursorposition = 2    
} else if (cursorposition <= 2) {    
cursorposition = cursorposition + 1    
} else if (cursorposition <= 5) {    
cursorposition = cursorposition + 2    
} else if (cursorposition == 6) {    
cursorposition = cursorposition + 2    
} else if (cursorposition == 7) {    
cursorposition = cursorposition + 4    
e1=object.value.indexOf(')')    
e2=object.value.indexOf('-')    
if (e1>-1 && e2>-1){    
if (e2-e1 == 4) {    
cursorposition = cursorposition - 1    
}    
}    
} else if (cursorposition < 11) {    
cursorposition = cursorposition + 3    
} else if (cursorposition == 11) {    
cursorposition = cursorposition + 1    
} else if (cursorposition >= 12) {    
cursorposition = cursorposition+1    
} else if (cursorposition >= 13) {    
cursorposition = cursorposition    
} var txtRange = object.createTextRange();   
txtRange.moveStart( "character", cursorposition);    
txtRange.moveEnd( "character", cursorposition - object.value.length);    
txtRange.select();    
} } 
function ParseChar(sStr, sChar)   
{    
if (sChar.length == null)     
{    
zChar = new Array(sChar);    
}    
else zChar = sChar; for (i=0; i<zChar.length; i++)   
{    
sNewStr = ""; var iStart = 0;   
var iEnd = sStr.indexOf(sChar[i]); while (iEnd != -1)   
{    
sNewStr += sStr.substring(iStart, iEnd);    
iStart = iEnd + 1;    
iEnd = sStr.indexOf(sChar[i], iStart);    
}    
sNewStr += sStr.substring(sStr.lastIndexOf(sChar[i]) + 1, sStr.length); sStr = sNewStr;   
} return sNewStr;   
}    
    </script>    
<input type="text" name="txtInput" onkeydown="javascript:backspacerDOWN(this,event);" onkeyup="javascript:backspacerUP(this,event);" />



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
  f18CFixvrKz8   2024年05月20日   88   0   0 JavaScript
  fxrR9b8fJ5Wh   2024年05月17日   52   0   0 JavaScript
  2xk0JyO908yA   2024年04月28日   40   0   0 JavaScript
TnD0WQEygW8e