热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

创建一个匹配数字的正则表达式-createaregextomatchanumber

Imtryingtocreatearegextomatchanumberwiththefollowingcriteria:•Length12•Firstchar

I'm trying to create a regex to match a number with the following criteria: • Length 12 • First character must be a 8 • The remaining 11 must be numeric 0-9

我正在尝试创建一个正则表达式以匹配具有以下条件的数字:•长度12•第一个字符必须是8•其余11个必须是数字0-9

This is what I'm trying, but it does not work:

这就是我正在尝试的,但它不起作用:

$(".ValidarTelefono").keypress(function (e) {        
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla == 8) return true;
    patron = /^8\d{12}$/;
    te = String.fromCharCode(tecla);
    return patron.test(te);
});

Could someone tell me where I went wrong?

有人能告诉我哪里出错了吗?

4 个解决方案

#1


the regexp seems correct, but you are testing single char against it, not the whole string.

正则表达式似乎是正确的,但你正在测试单个字符串,而不是整个字符串。

#2


Try something along these lines:

尝试这些方面的东西:

$(".ValidarTelefono").keypress(function (e) {        
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla == 8) return true;
    patron = /^8\d{11}$/;
    var te = $(this).val() ;
    return patron.test(te);
});

#3


Eduardo, you have to check the keydown and blur events, take a look at this Fiddle

Eduardo,你必须检查keydown和模糊事件,看看这个小提琴

Teléfono: 

$(".ValidarTelefono").keypress(function (e) {        
    var tecla = (document.all) ? e.keyCode : e.which;
    if (tecla == 8) return true;
    var patron = /^8[0-9]{0,12}$/;
    var te = String.fromCharCode(tecla);
    var v=$(this).val()+te;
    console.log(v);
    return patron.test(v);
}).on("blur",function(){
    var patron = /^8[0-9]{12}$/;
    if(!patron.test( $(this).val() )){
       console.log('mal');
    }else{
      console.log('ok');
    }
});

#4


I think what you are looking for is the following:

我认为您正在寻找的是以下内容:

$(".ValidarTelefono").keypress(function (e) {        
    patron = /^8\d{11}$/;
    if (patron.test($(this).val())) {
        . . . DO SOMETHING . . .
    }
    else {
        . . . DO SOMETHING ELSE . . .
    }
});

What that code should do is check to see if the current value of the field is a 12-digit number that begins with 8, every time a key is pressed in the field.

该代码应该做的是检查字段的当前值是否是每次在字段中按下键时以8开头的12位数字。

You don't want to return the result of the .test(), since, everytime it fails, it will block the character from being entered into the field.

您不希望返回.test()的结果,因为每次失败时,它都会阻止字符进入字段。


EDIT : It occured to me that you might be trying to block any character that would not result in the creation of a 12-digit character, that begins with 8 . . . that code would be a little different:

编辑:我发现你可能试图阻止任何不会导致创建12位字符的字符,以8开头。 。 。那段代码会有点不同:

First, controle the length of the number from within the text input by adding the maxlength = 12 attribute.

首先,通过添加maxlength = 12属性来控制文本输入中的数字长度。

Then, use the following code to check the characters:

然后,使用以下代码检查字符:

$(".ValidarTelefono").keypress(function (e) {        
    var tecla = (document.all) ? e.keyCode : e.which;

    if (tecla == 8) {
        return true;
    }
    else {
        var te = String.fromCharCode(tecla);

        if ($(this).val().length === 0) {
            return (te === "8");
        }
        else {
            var patron = /\d/;
            return patron.test(te);
        }
    }
});

That being said, there are some BIG problems with this approach. You put a lot of restrictions on what the user can do with their keyboard. They can use Backspace to delete, but the can't use Delete . . . the can't use the arrow keys or Home or End to change the cursor position, they can't use Ctrl-V to paste in a valid value, etc.

话虽如此,这种方法存在一些大问题。你对用户的键盘操作有很多限制。他们可以使用Backspace删除,但不能使用Delete。 。 。不能使用箭头键或Home或End来改变光标位置,它们不能用Ctrl-V粘贴有效值等。

I would be VERY hesitant to use this approach.

我会非常犹豫使用这种方法。


推荐阅读
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • Ihaveaworkfolderdirectory.我有一个工作文件夹目录。holderDir.glob(*)>holder[ProjectOne, ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • Python爬虫中使用正则表达式的方法和注意事项
    本文介绍了在Python爬虫中使用正则表达式的方法和注意事项。首先解释了爬虫的四个主要步骤,并强调了正则表达式在数据处理中的重要性。然后详细介绍了正则表达式的概念和用法,包括检索、替换和过滤文本的功能。同时提到了re模块是Python内置的用于处理正则表达式的模块,并给出了使用正则表达式时需要注意的特殊字符转义和原始字符串的用法。通过本文的学习,读者可以掌握在Python爬虫中使用正则表达式的技巧和方法。 ... [详细]
  • 本文介绍了在wepy中运用小顺序页面受权的计划,包含了用户点击作废后的从新受权计划。 ... [详细]
  • 本文介绍了Oracle存储过程的基本语法和写法示例,同时还介绍了已命名的系统异常的产生原因。 ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
author-avatar
阿宅是时候听孙燕姿思_542
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有