标签: maskedinput

jquery蒙面输入只有第一个数字可选的rest必须

我使用jquery蒙面输入插件,需要一个具有以下格式的手机字段:

1 (222) - 000 - 1114
Run Code Online (Sandbox Code Playgroud)

我的代码看起来像这样:

$("#myPhone").mask("9 (999) - 999 - 9999");
Run Code Online (Sandbox Code Playgroud)

现在我似乎无法让它工作,使第一个数字可选,但其余的强制性.所以以下数字是有效的:

1 (222) - 000 - 1114
  (222) - 000 - 1114
Run Code Online (Sandbox Code Playgroud)

以下数字无效

1 (222) - 000 - 11
  (222) - 00  - 0011
Run Code Online (Sandbox Code Playgroud)

使用"?9(999) - 999- 9999"将不起作用,因为它使整个事物成为可选的

如果这不能在蒙面中完成,有人可以通过正则表达式来帮助我实现这一目标吗?

javascript jquery maskedinput jquery-mask

7
推荐指数
1
解决办法
2万
查看次数

使用jQuery插件时AngularJS验证,绑定等不起作用(例如autoNumeric)

我有一个角度形式,成功使用角度的内置验证.以下面的标记为例:

<form name="numberForm" novalidate>
    <input type="text" required />
    <button type="submit">Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)

浏览器加载时,输入字段会像这样呈现(删除了不必要的属性):

<input class="ng-pristine ng-invalid ng-invalid-required" />
Run Code Online (Sandbox Code Playgroud)

如果我在输入字段中输入值,则标记变为:

<input class="ng-dirty ng-valid ng-valid-required" />
Run Code Online (Sandbox Code Playgroud)

所有这一切都很有效.然后我实现了两个jQuery插件来实现窗体的一些屏蔽/输入格式: autoNumericjQuery.maskedinput.现在,我所做的一切都不会改变ng-pristine ng-invalid...输入上的原始类.它似乎也不允许模型的绑定成功.

有任何想法吗?

我尝试创建一个http://jsfiddle.net/ma44H/3/,但似乎无法弄清楚如何让它工作.

javascript jquery maskedinput angularjs

7
推荐指数
1
解决办法
3851
查看次数

jQuery蒙面输入插件与验证插件冲突

给定使用Masked Input插件屏蔽的文本框,并通过Validation Plugin将其标记为必填字段,请考虑以下事项:

如果你将焦点放在一个被屏蔽的文本框中,然后保留它而不输入任何信息(或者不输入足够的信息来满足掩码),屏蔽输入插件将删除所有内容,留下一个空文本框.

$("#phoneNumber").mask("(999) 999-9999? x999999");
$("#sampleForm").validate({
    rules: {
        phoneNumber: "required"
    }
});
Run Code Online (Sandbox Code Playgroud)

验证插件似乎在屏蔽输入插件之前触发了模糊事件.这导致文本框传递验证(因为它确实包含文本),然后屏蔽输入插件启动并删除文本.一旦失去焦点,该字段应标记为无效.

我尝试过使用正则表达式验证器.它靠拢,但同样,因为它触发蒙面输入插件清理了现场之前它显示一个错误,当它不应该(虽然该错误消失,当用户试图提交表单).

我也试过这个:

$('input').bind('unmasked.maskedInput', function () { $(this).valid(); });
Run Code Online (Sandbox Code Playgroud)

这有效,但它也会干扰验证器的初始行为:在按下提交按钮之前不会验证字段,然后在失去焦点时验证它们.

我已经设置了一个描述我遇到的问题的jsFiddle.

jquery jquery-validate maskedinput

6
推荐指数
1
解决办法
2万
查看次数

jQuery输入掩码不起作用

我正在设立一个捐款页面供人们向非营利组织捐款,并允许他们指定货币的用途.我设置它总计了当输入金额时给予者在每个字段中的金额.我试图在每个字段中添加一个输入掩码,但它只是让我的JavaScript崩溃而不做任何事情.这是我目前拥有的代码在任何掩码之前完美运行:

<script src="/js/jquery.js"></script>
<script type="text/javascript">
    $(document).ready( function() {
        var calcTot = function() {
            var sum = 0;
            $('.toTotal').each( function(){
                sum += Number( $(this).val() );
                });
            $('#giveTotal').val( '$' + sum.toFixed(2) );
        }

        calcTot();

        $('.toTotal').change( function(){
            calcTot();
            });
        });
</script>
Run Code Online (Sandbox Code Playgroud)

'toTotal'是给所有需要加起来的输入框的类名; 这也是需要面具的类.'giveTotal'是总字段的id.

我尝试过在StackOverflow和其他网站上找到的几种变体.

完整代码:

<html>
<head>
    <script src="/js/jquery.js"></script>
    <script type="text/javascript">
        $(document).ready( function() {

            //This is one of the masking codes I attempted.
            $('.toTotal').mask('9.99', {reverse: true});

            //other options I have tried:
            //$('.toTotal').mask('9.99');
            //$('.toTotal').mask('0.00');
            //$('.toTotal').inputmask('9.99');
            //$('.toTotal').inputmask('mask', {'mask': '9.99'});

            var calcTot = function() {
                var …
Run Code Online (Sandbox Code Playgroud)

javascript jquery maskedinput input-mask

6
推荐指数
1
解决办法
3万
查看次数

Angular 2多个自定义值访问器

我正在使用angular2创建一个应用程序。

我需要使用日历弹出窗口从用户输入中获取日期,但是我需要在用户输入上放置一个掩码,以使其在键入时保持dd-mm-YYYY的格式。

我正在使用从Web ng-bootstrapangular2-text-mark获得的两个不同模块

<input [textMask]="{mask: mask}" type="text" class="form-control" placeholder="yyyy-mm-dd"
         name="dp" [(ngModel)]="date" ngbDatepicker #d="ngbDatepicker">
Run Code Online (Sandbox Code Playgroud)

当我在同一标签上使用textMaskngbDatepicker时,出现此错误

错误:多个自定义值访问器与具有未指定名称属性的表单控件匹配。

有办法做这种事情吗?

谢谢

maskedinput angular2-directives ng-bootstrap angular

6
推荐指数
1
解决办法
5390
查看次数

Jquery Masked Input插件允许点

我正在使用JQuery Masked输入插件.

$("#percent").mask("99.99?9");
Run Code Online (Sandbox Code Playgroud)

这允许数字 10.999, 10.99, 01.999, 01.99

我想要实现的是我不希望用户输入01.99.相反,如果用户键入1.99我想01自动添加.这是我开始但不知道如何继续:

  //assume i typed in field 11.99
  $(document).on('keyup', '#percent', function(evt) {
    var input = $(this).val();
    alert(input); // 11.99_
    if(evt.which == '190' || evt.which == '110') {
       //if dot is clicked 
       alert(parseInt(input)); // 11
    }
});
Run Code Online (Sandbox Code Playgroud)

请注意,警报输入11.99_在末尾打印下划线,因为第三个值是可选的,我没有输入它.

现在,这个值是完全正常的,但如果用户输入的1.99,将不能因为它会自动移动91与填满它2的数字,所以它会作为回报19.9,这是无效的,因为必须有2定义如上小数.因此,在我的if语句中,我希望能够检测输入的内容是否小于10,如果小于10小数点,则0在开头添加.

好的,我发现了一个修复underscore _:

    $("#percent").mask("99.99?9", {placeholder: ""}) …
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-plugins maskedinput jquery-events

5
推荐指数
1
解决办法
3885
查看次数

在循环中运行时未定义对象,但在顺序执行时则不定义

我正在使用jQuery Masked Input插件来设置所有输入元素,并将数据掩码属性定义为属性掩码值:

给出这个HTML:

<input type='text' id="a" data-mask='999?999' />
<input type='text' id="b" data-mask='999' />
Run Code Online (Sandbox Code Playgroud)

这个脚本:

$("input[data-mask]").each(function() {

    var maskValue = $(this).data('mask');

    console.log($(this).attr('id') + ": " + maskValue);

    //undefined error here on second iteration "b: 999"
    //no issues if you remove the data-mask from one of the input elements
    return $(this).mask(maskValue);

});
Run Code Online (Sandbox Code Playgroud)

第二次迭代抛出一个错误:"未捕获的TypeError:undefined不是函数"在这一行,说'split'没有定义.

firstNonMaskPos = null, $.each(mask.split(""), function(i, c) {
Run Code Online (Sandbox Code Playgroud)

但是这个代码工作正常,掩码设置没有问题.

$('#a').mask('999?999');
$('#b').mask('999');
Run Code Online (Sandbox Code Playgroud)

任何人都可以对这种奇怪的行为发光吗?

演示jsFiddle在这里

javascript jquery maskedinput

5
推荐指数
1
解决办法
138
查看次数

maskedinput未捕获TypeError:$(...).mask不是函数

大家下午好

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript" src="{{ asset('bundles/reflorestasite/js/jquery.maskedinput.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('bundles/reflorestasite/js/validacoes.js') }}"></script>
<script type="text/javascript" src="{{ asset_url }}"></script>
Run Code Online (Sandbox Code Playgroud)

在"validacoes.js"文件中有

$(document).ready(function(){

  $(".cpf").mask("999.999.999-99");
  $('.cpf').blur(function () {
    var id=$(this).attr("id");
    var val=$(this).val();
    var pattern = new RegExp(/[0-9]{3}[\.]?[0-9]{3}[\.]?[0-9]{3}[-]?[0-9]{2}/);

    if(val.match(pattern) == null){
      $("#"+id+"_error").html("Digite um CPF válido");
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

我已经在控制台验证了所有的javascript文件.但是我收到错误"Uncaught TypeError:$(...).mask不是函数"

有没有人知道为什么symfony没有识别maskedinput插件?

非常感谢你.

javascript maskedinput symfony

5
推荐指数
1
解决办法
3万
查看次数

屏蔽输入在桌面上工作正常,并且可以在移动设备上使用某些面具

我正在为两个字段使用蒙面插件.一个是加拿大邮政编码(T5T 5T5),另一个是电话号码(999-999-9989).两个面具在桌面上都能正常工作 如果您在手机上打开相同的代码,则会出现此问题.当用户键入邮政编码1时,光标一直跳到光标的开头.

这是代码:

HTML:

<input type="text" id="someID" /> (T9T 1A1)
<br />
<span id="result"></span>
<br /><br />
<input type="text" id="someOtherID" /> (999-999-9999)
<br />
<span id="result1"></span>
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

$("#someID").mask("a9a 9a9");
$("#someID").on('keyup', function() {
  var actualValue = $(this).val().replace(/[_-\s]/g, '').length;
  if (actualValue === 0 || actualValue !== 6) {
    $("#result").text("not valid")
  } else {
    $("#result").text("valid")
  }
});

$("#someOtherID").mask("999-999-9999");
$("#someOtherID").on('keyup', function() {
  var actualValue = $(this).val().replace(/[_-\s]/g, '').length;
  if (actualValue === 0 || actualValue !== 10) {
    $("#result1").text("not valid")
  } else {
    $("#result1").text("valid")
  } …
Run Code Online (Sandbox Code Playgroud)

javascript jquery html5 maskedinput

5
推荐指数
1
解决办法
2550
查看次数

Imask.js 通过在价格末尾附加可变的双零来将货币符号设置为数字的和

如何通过使用 js 库imask.js或使用纯 javascript 在默认情况下将双零附加到价格末尾来进行输入屏蔽:3.380.321,00 $

var currencyMask = IMask(
  document.getElementById('price'),
  {
    mask: '$num',
    blocks: {
      num: {
        mask: Number,
        thousandsSeparator: '.'
      }
    }
  });

var currencyMask = IMask(
  document.getElementById('price2'),
  {
    mask: 'num$',
    blocks: {
      num: {
        mask: Number,
        thousandsSeparator: '.'
      }
    }
  });
Run Code Online (Sandbox Code Playgroud)
<script src="https://unpkg.com/imask"></script>
<input type="text" id="price" value="2700300.21">
<hr>
<p>Needed masking: 3.380.321,00 $</p>
<input type="text" id="price2">
Run Code Online (Sandbox Code Playgroud)

javascript input masking maskedinput price

5
推荐指数
1
解决办法
5399
查看次数