8

javascript変数値をマスクしたい.基本的に、電話番号フィールドの値を変数に取得していて、それを取得した後、他の形式でマスクしたい.

jquery Mask プラグインを試してみましたが、そのマスクはコントロールの文字列形式です。しかし、文字列を変数にマスクしたいと思います。

元:

電話文字列が"0000000000"あり、それを変数に格納しています:-

var number ="0000000000"

その後、他のフォーマットでマスクしたい.Like-

1) 番号 = 番号.マスク('000-0000'); 2) 番号 = number.mask('(000) 000-0000');

4

6 に答える 6

22

同様の質問があります ( 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で、優れた JavaScript 正規表現リファレンスを見つけることができます。

于 2013-07-15T09:02:27.427 に答える
1

これは、長さ 7 または 10 の電話番号の数字の文字列に適用できる「マスク」です。オプションの「+」を使用すると、ダッシュで表示されます。

number.match(/^\+?([0-9]{3}){1,2}([0-9]{4})$/) || []).join('-')
于 2013-07-15T09:02:22.953 に答える
0

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) ジャバスクリプト

文字列を解析して変数に入れるには

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

ソース: https://bossanova.uk/jsuites/javascript-mask

于 2019-12-18T18:59:48.890 に答える
-6

あなたが探しているものは、apple.com のサポート ページで見つかると思います。通話をスケジュールして、電話入力フィールドをチェックしてみてください。入力する桁数に基づいてプレゼンテーションを調整します。ソースを見ると(ここのどこかにあるようです)、これにはフィールドのキーアップイベントがあり、キーアップで解析しているように見えます。

于 2015-12-16T06:26:53.663 に答える