2013-07-15 75 views
2

我想掩蓋我的JavaScript變量value.Basically我得到的變量中的電話號碼字段值,並得到它後,我想以其他格式掩蓋它。掩碼的JavaScript變量值

我試過了jquery Mask plugin,但它的掩碼控件的字符串格式。但我想將字符串掩碼到變量中。

例:

讓我有一個手機串"0000000000",我將它存儲在一個變量: -

var number ="0000000000" 

之後,我想掩蓋它在其他formats.Like-

1)number = number.mask('000-0000'); 2)number = number.mask('(000)000-0000');

+4

你的例子沒有意義......零的數量是不同的。 – elclanrs

+0

無論在這個例子中零的數量,我相信這個問題的目的是非常清楚的... –

+0

你可以使用這個插件來掩飾http://igorescobar.github.io/jQuery-Mask-Plugin/ –

回答

2

還有一個類似的問題(Javascript phone mask for text field with regex)。

可以使用正則表達式做(見代碼在http://jsfiddle.net/BBeWN/45/工作):

var value = '1234567'; 
var formatted = value.replace(/^(\d{3})(\d{4}).*/, '$1-$2'); 

注意正則表達式被包裹在括號內,在該例子(\d{3})(\d{4})以上,可以的每個部分然後被引用以分別使用$1$2構建格式化的文本字符串。

如果你有正則表達式的括號內包裹的N個部分,你就可以參考它們來構建一個格式化的文本字符串$1$2,... $N分別。

所以,對於其它格式,你提到((000)000-0000),代碼會是這樣:

var formatted = value.replace(/^(\d{3})(\d{3})(\d{4}).*/, '($1) $2-$3'); 

你可以找到https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions

0

這是一個「掩碼」,您可以將其應用於長度爲7或10的電話號碼數字字符串,並帶有可選的「+」以便用短劃線表示。

number.match(/^\+?([0-9]{3}){1,2}([0-9]{4})$/) || []).join('-') 
-2

一個偉大的JavaScript正則表達式參考我相信你可以在apple.com的支持頁面找到你想要的東西。嘗試安排通話並查看他們的電話輸入字段。它根據您輸入的位數來調整顯示。看看源代碼,(看起來像是它的某個地方here)這個人擁有該字段的keyup事件,看起來像他們正在解析的keyup。