掩盖javascript变量值

Paw*_*wan 4 javascript variables

我想掩盖我的javascript变量值.基本上我在变量中得到电话号码字段值,在得到它之后我想以其他格式掩盖它.

我已经尝试了jquery Mask插件,但是它的掩码是控件的字符串格式.但是我想将字符串掩盖到变量中.

例如:

我有一个电话串"0000000000",我将它存储在一个变量中: -

var number ="0000000000"
Run Code Online (Sandbox Code Playgroud)

之后我想以其他格式掩盖它.喜欢 -

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

Ger*_*rre 7

有一个类似的问题(带有正则表达式的文本字段的Javascript电话掩码).

您可以使用正则表达式来执行此操作(请参阅http://jsfiddle.net/BBeWN/45/上的代码):

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

请注意,然后可以引用括号中包含的正则表达式的每个部分(\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');
Run Code Online (Sandbox Code Playgroud)

您可以在https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions找到一个很棒的JavaScript正则表达式参考


小智 5

有一个javascript库可为该问题提供解决方案:

https://github.com/the-darc/string-mask

而且,您不需要每次更改mask(Format)时都创建新的正则表达式。

您可以像这样使用它:

var formatter = new StringMask("(000) 000-0000", { reverse: true });
var result = formatter.apply('123456789'); // (012) 345-6789
Run Code Online (Sandbox Code Playgroud)

要么

var formatter = new StringMask('#.##0,00', { reverse: true });
var result = formatter.apply('123456789'); // 1.234.567,89
Run Code Online (Sandbox Code Playgroud)