2012-12-03 3 views
0

jquery Masked 입력 플러그인을 사용합니다.Jquery 마스크 된 입력 플러그인에서 전화 필드에 확장자가 지정되지 않은 경우 x를 제거합니다

I 필드에 다음과 같은 마스크가 :

태초에
"?999-999-9999 x9999" 

?? 왜냐하면 사용자가 불완전한 번호를 입력했기 때문에 필드를 지우고 싶지 않아 모든 것을 선택적으로 만들었 기 때문입니다. 이제 사용자가 전화 번호를 입력하면 x 전화 번호가 있는지 여부를 볼 수 있습니다. 확장 기능이 제공되지 않으면 어떻게하면 x을 제거 할 수 있습니까? 내가

"999-999-9999? x9999" 

를 사용하는 경우

은 다시 내가 그것을 추가 예 작동, 현장을 취소하지 않으 X 만이 확장자를 가지고 있지만 불완전 전화가 입력 한 경우는 목표되지 않습니다 필드를 비워 때 .

감사합니다. 감사합니다.

+0

에서 [데모 (http://digitalbush.com/projects/masked-input-plugin/ #demo)는 이미 비슷한 것을 가지고있는 것 같습니다. – Cerbrus

+0

nope 데모에는 불완전한 전화가 주어지면 텍스트를 삭제하는 두 번째 버전이 있습니다. – Giorgi

+0

아, 알겠습니다. 잘 모르겠다. – Cerbrus

답변

0

많은 것을 시도한 후, 목표를 달성하기 위해 직접 수정했습니다.

목표는 불완전한 입력이 주어지면 텍스트를 사라지지 않게하고 확장이 없으면 x를 제거하는 것이 었습니다.

var splitString = $("[name=myinput]").val().split("x"); 
//if splitString array length is more than 1 means splitString[1] is set 
//if splitString[1].length is 0 means its only x by itself so get rid of it 
if (splitString.length > 1 && splitString[1].length == 0) { 
    $("[name=myinput]").val($("[name=myinput]").val().replace("x", "")); 
} 

예 :

제가

코드의 끝이 시험은 추가

entered text: 718-111-123 x -> turns into -> 718-111-123 
entered text: 718-111  x -> turns into -> 718-111 
entered text: 718-111-123 x555 -> turns into -> 718-111-123 x555