为了账号安全,请及时绑定邮箱和手机立即绑定

立即截断前导零

立即截断前导零

炎炎设计 2021-12-12 18:12:27
我正在使用 jquery 脚本来屏蔽输入字段。这是一个电话号码。 https://igorescobar.github.io/jQuery-Mask-Plugin/docs.html我想像这样屏蔽输入字段:+32 123 45 67 89但在比利时,人们习惯于填写他们的电话号码,如:0123 45 67 89。目标是立即截断前导零......  $('.phone').mask('+32000 00 00 00', {placeholder: "Phone number"});});
查看完整描述

2 回答

?
www说

TA贡献1775条经验 获得超8个赞

使用translation选项


$('.phone').mask('+32Z00 00 00 00', {

  placeholder: "Phone number",

  translation: {

    'Z': { pattern: /[1-9]/ }

  },

  onInvalid: function(val, e, f, invalid, options) {

    if(val === '+32') {

      event.target.value = '';

    }

  }

});

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js" integrity="sha256-Kg2zTcFO9LXOc7IwcBx1YeUBJmekycsnTsq2RuFHSZU=" crossorigin="anonymous"></script>


<input class="phone" />


查看完整回答
反对 回复 2021-12-12
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

我的第一个方法就是这个。退出空格,然后退出前导零(如果存在)。



function truncateLeadingZero(phoneNumber) {

    var noWhiteSpaces = phoneNumber.split(' ').join('');

    while (noWhiteSpaces.length > 9 && noWhiteSpaces[0] === '0') {

        noWhiteSpaces = noWhiteSpaces.substring(1,noWhiteSpaces.length);

    }


    return noWhiteSpaces;

}



var phoneNumber = '0123 45 67 89';

phoneNumber = truncateLeadingZero(phoneNumber)

console.log(phoneNumber);


我认为使用您在问题中发布的内容,如果您使用我的输出,电话号码将根据需要被屏蔽。它期望的是一个包含 9 个数字的字符串(掩码的每个零)。


$('.phone').mask('+32000 00 00 00', {placeholder: "Phone number"});


查看完整回答
反对 回复 2021-12-12
  • 2 回答
  • 0 关注
  • 123 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信