屏蔽javascript变量值

Mask javascript variable value

本文关键字:变量值 javascript 屏蔽      更新时间:2023-09-26

我想屏蔽我的javascript变量值。基本上,我得到的是变量中的电话号码字段值,得到它后,我想用其他格式屏蔽它。

我尝试过jquery Mask插件,但它屏蔽了控件的字符串格式。但我想把字符串屏蔽到变量中。

例如:

让我有一个电话字符串"0000000000",并将其存储在一个变量中:-

var number ="0000000000"

之后,我想用其他格式屏蔽它。类似-

1) number=数字掩码('000-0000');2) number=数字掩码('(000)000-0000');

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

您可以使用正则表达式(请参阅http://jsfiddle.net/BBeWN/45/):

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

请注意,可以分别使用$1$2引用正则表达式中括号内的每一部分(上例中的('d{3})('d{4}))来构建格式化的文本字符串。

如果将正则表达式的N个部分封装在括号中,则可以引用它们来构建具有$1$2……的格式化文本字符串。。。,CCD_ 8。

因此,对于您提到的另一种格式((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

有一个javascript库为这个问题提供了解决方案:

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

并且不需要每次更改掩码(Format)时都创建一个新的正则表达式。

你可以这样使用它:

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

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

这里有一个"掩码",您可以将其应用于长度为7或10的电话号码数字字符串,并使用可选的"+"以短划线呈现。

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

您可以使用我的包https://github.com/jsonmaur/coverup,可以将掩码字符串作为变量返回。

使用jsuites插件可以实现

A) HTML

<html>
<script src="https://bossanova.uk/jsuites/v2/jsuites.js"></script>
<link rel="stylesheet" href="https://bossanova.uk/jsuites/v2/jsuites.css" type="text/css" />
<input data-mask='+44 0000 000 000'>
</html>

B) JAVASCRIPT

要将字符串解析为变量

<script>
var test = jSuites.mask.run('123456789', '(000) 000-0000');
console.log(test);
</script>

来源:https://bossanova.uk/jsuites/javascript-mask


启动Jquery

$(document).ready(function(){
   $('.phone_us').mask('(000) 000-0000');
}

html用于掩码

<input id="seachPeople" type="text" placeholder="Pesquisar" class="phone_us">

正在获取掩码字符串

// your string
var phoneApi ='0000000000'     
var phone  = ('.phone_us').masked(phoneApi);
consoe.log(phone)
//exit -> (000) 000-0000

<input id="seachPeople" type="text" placeholder="Pesquisar" class="phone_us">

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="http://igorescobar.github.io/jQuery-Mask-Plugin/js/jquery.mask.min.js"></script>
<script>
$('.phone_us').mask('(000) 000-0000');
// your string that comes from somewhere could be from an API
const numberPhone = '1111111111';
const maskPgoneStriong = $('.phone_us').masked(numberPhone);
console.log(maskPgoneStriong);
alert(maskPgoneStriong)
</script>

外观:http://igorescobar.github.io/jQuery-Mask-Plugin/docs.html#getting-a-masked-value语法

我相信您正在寻找的东西可以在apple.com支持页面上找到。试着安排一个电话并查看他们的电话输入字段。它会根据您输入的位数调整显示方式。从源代码来看,(似乎在这里的某个地方)这一个有字段的keyup事件,看起来他们正在解析keyup。