热门关键字:
jquery > jquery教程 > jquery教程 > js限制文本框只能输入数字(正则表达式)

js限制文本框只能输入数字(正则表达式)

305
作者:管理员
发布时间:2021/5/27 19:31:25
评论数:0
转载请自觉注明原文:http://www.jq-school.com/Show.aspx?id=4813
  今天是学习Js正则表达式的一天,以前没什么习惯写知乎的文章,就写给自己看看吧,顺便加强巩固一下自己的知识。


  1.字面量写法-以斜杠表示开始和结束 例如:


  2.内置构造函数生成-通过实例化得到对象 例如:


  上面两种写法是等价的,都新建了一个内容为 xyz 的正则表达式对象,实际当中还是字面量写法用的较多。


  1.test(str) : 判断字符串中是否具有指定模式的子串,返回结果是一个布尔型的值


  2.exec(str) : 返回字符串中指定模式的子串,一次只能获取一个与之匹配的结果


  例如:


  search(reg) :与indexOf非常类似,返回指定模式的子串在字符串首次出现的位置(下标) ,没由返回-1match(reg) :以数组的形式返回指定模式的字符串,可以返回所有匹配的结果,没由返回null replace(reg,’替换后的字符’) :把指定模式的子串进行替换操作 split(reg) :以指定模式分割字符串,返回结果为数组,没由正则匹配的结果则原样返回整个字符串


  例如:


  1.子表达式 在正则表达式中,通过一对圆括号括起来的内容,我们就称之为“子表达式”。如:


  子表达式是干什么用的呢?下面看案例:


  小案例


  1.查找连续的四个数字,如:3569


  2.查找数字,如:1221,3443


  3.查找字符,如:AABB,TTMM


  4.查找连续相同的四个数字或四个字符


  正则表达式的组成:


  正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。 正则表达式作为一个 模板,将某个字符模式与所搜索的字符串进行匹配。


  正则表达式三步走:


  匹配符(查什么) 限定符(查多少) 定位符(从哪查)


  匹配符:字符匹配符用于匹配某个或某些字符; 前面用到的 d 就是匹配一个 0-9 的数字


  在正则表达式中,通过一对中括号括起来的内容,我们就称之为“字符簇”。 字符簇代表的是一个范围,但是匹配 时,只能匹配某个范围中固定的结果。


  限定符:什么是限定符? 限定符可以指定正则表达式的一个给定字符必须要出现多少次才能满足匹配。


  案例:对QQ号码进行校验要求5——13位,不能以0开头,只能是数字


  我们会发现以上代码运行结果中,默认优先配到 13 位,在对后面的进行匹配; 为什么不是优先匹配 5 位后,在对 后面的进行匹配呢?


  因为在正则表达式中,默认情况下,能匹配多的就不匹配少的, 我们把这种匹配模式就称之为 贪婪匹配,也叫做 贪婪模式 所有的正则表达式,默认情况下采用的都是贪婪匹配原则。 如果在限定符的后面添加一个问号?, 那我们的贪婪匹配原则就会转化为非贪婪匹配原则,优先匹配少的,也叫惰性匹配;


  定位符:


  编写正则表达式,匹配手机号码?(注册功能)


  纯数字


  第一位必须是1开头


  第二位必须是3、4、5、7、8


  第三位——第十一只要是数字即可


  检测结果为真,但是,字符串并不是一个手机号; 正则表达式只会到字符串去寻找是否有与之匹配的结果,如果 有, 就认为是正确的,而不考虑其字符串本身是否合法。 如何解决以上问题呢?


  定位符可以将一个正则表达式固定在一行的开始或结束。 也可以创建只在单词内或只在单词的开始或结尾处出现的 正则表达式。


  注意: ^ 放在字符簇中是取反的意思,放在整个表达式中是开始位置


  匹配模式 :匹配模式也就修饰符: 表示正则匹配的附加规则,放在正则模式的尾部。 修饰符可以单个使用,也可以多个一 起使用


  在正则表达式中,匹配模式常用的有两种形式: g :global缩写,代表全局匹配,匹配出所有满足条件的结果,不 加g第一次匹配成功后,正则对象就停止向下匹配;


  i :ignore缩写,代表忽略大小写,匹配时,会自动忽略字符串的大小写


  语法:


  转义字符:


  因为在正则表达式中 .(点) +  等是属于表达式的一部分,但是我们在匹配时,字符串中也需要匹配 这些特殊字符, 所以,我们必须使用 *反斜杠* 对某些特殊字符进行转义; 需要转义的字符:




如果您觉得本文的内容对您的学习有所帮助:支付鼓励



关键字:jquery
友荐云推荐