繁体   English   中英

验证以检查用户是否输入了正确的格式

[英]Validation to check if the user has entered the correct format

我有一个动态网格,其中有一个数字字段,我在其中应用了掩码。 它还有一个加号按钮,意味着用户可以根据需要添加许多行。 屏蔽是这样应用的:

<input  type='textbox' placeholder='00000-00-000' data-mask='00000-00-000' 

当用户输入 10 位数字时应用此屏蔽,但它也允许用户输入 2 或 3 位数字。 为此,我尝试在保存时应用验证,以便检查输入的值是否与所需格式匹配。

到目前为止我所做的是:

  value = $(this).find('td:eq(1)').find('input').val();  //saves the entered value in a variable value
               
                myRegExp = new RegExp(/\d{5}-\d{2}-\d{3}/);
               
                if (!myRegExp.test(value)) {
                    valid = false;
                }
                else
                    valid = true;

用户输入的值保存在名为 value 的变量中,然后我定义了我的正则表达式以将我的值与该表达式匹配,但不知何故,这个正则表达式不起作用。 这是定义正则表达式的正确方法吗? 我在这里想念什么? 我要求的格式是 00000-00-000。 任何帮助,将不胜感激。

您的逻辑是正确的,但您尚未定义终点,这就是它允许插入更多值的原因。

在您的正则表达式中,它仅检查 10 位数字是否按特定顺序

试试这个

myRegExp = new RegExp(/^\d{5}-\d{2}-\d{3}$/);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM