js正则,js正则表达式校验

http://www.itjxue.com  2023-01-20 09:56  来源:未知  点击次数: 

JS正则表达式基础认知

? ? ? ? 正则表达式,又叫规则表达式,英文名Regular Expression,本质是操作字符串

? ? ? ? ?1、模式匹配? ? 表单验证

? ? ? ? ?2、文本检索? ? 搜索

? ? ? ? ?3、替换? ? ? ? 过滤

? ? ? ? ?简单,方便,性能高

? ? ? ? var reg=new RegExp('规则','模式')? 通过构造函数创造

? ? ? ? var reg=/规则/模式? ? ? ? ? ? ? ? 通过字面量创建

? ? ? ?i? 忽略大小写

? ? ? ?g? 全局

? ? ? ?m? 多行

? ? ? ?注:不分前后顺序

? ? ? str.match(正则)? 返回数组 没有返回 null

? ? ? str.search(正则)? 返回下标? 没有返回-1

? ? ? str.replace(正则,替换成谁)? 返回替换后的字符串

? ? ? str.replace(正则,function(s){

? ? ? ? ? ? ? ? ? ? ? ?s 符合正则条件的字符串

? ? ? ?})

? ? ? ?\d? 数字 /[0-9]/

? ? ? ?\s? 空格

? ? ? ?\w? /[0-9a-zA-Z_]/ 单词

? ? ? ?\D? 非数字? /[^0-9]/

? ? ? ?\S? 非空白

? ? ? ?\W? 非单词? /[^0-9a-zA-Z_]/

.(点)??? 代表任意

? ? ? ? ?\.? 代表.

? ? ? ? ?\\? 代表\

? ? ? ? ?\\\\? 代表\\

? ? ? ? ? \/? ? 代表/

? ? ? ? ? 只要有特殊意义的都要转译

? ? ? ? ? +? {1,m}? 若干个? 最少1个最多不限

? ? ? ? ? ? {0,1}? 可有可无

? ? ? ? ? *? {0,m}? 可以没有,多了不限

? ? ? ? ? {n}? 正好n个

? ? ? ? ?{n,m}? 最少n个 最多m个

? ? ? ? ?{n,}? 最少n个,最多不限

? ? ? ? ?{,m} × 没有这种写法

? ? ? ? ^? 行首

? ? ? ? ?注:如果^单独使用,代表字符串行首,配合m使用会识别段落

? ? ? ? $? 行尾

? ? ? ? [] 中括号

? ? ? ? ? ? ?1、[]里面的东西都是或的形式

? ? ? ? ? ? ?2、[]里面和放范围

? ? ? ? ? ? ?3、[^]? 不代表行首,代表除去里面的范围

? ? ? ? ? ? ?4、其他特殊符号代表本身

? ? ? ? ?1、test()? 一般配合^

? ? ? ? ? ? ? ?功能:用于检测是否于正则匹配。

? ? ? ? ? ? ? ?返回:布尔值,true匹配,false不匹配

? ? ? ? ? ? ? ?语法:reg.test(检测的内容)

? ? ? ? ? 2 exec()

? ? ? ? ? ? ? ?功能:用于检测是否于正则匹配。

? ? ? ? ? ? ? ?返回:数组, 不匹配返回null

? ? ? ? ? ? ? ?语法:reg.test(检测的内容)

? ? ? ? ? ? ? ?再做验证之前:验证分两种,一种强校验,一种弱校验

? ? ? ? ? ? (1)验证手机号? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /1[23457]\d{9}/

? ? ? ? ? ? (2)验证座机号? ? ? 区号-座机号? ? ? ? ? ? /(0[1-9]\d-)?[1-9]\d{7}/

? ? ? ? ? ? (3)验证qq? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /[1-9]\d{4,11}/

? ? ? ? ? ? (4)实现一个trim函数 去掉收尾空格? ? ? /^\s+|\s+$/g

? ? ? ? ? ? (5)中文? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /[\u4e00-\u9fa5]/

? ? ? ? ? ? (6)验证年龄? ? ? ?18-100? ? ? ? ? ? ? ? ? ? ? ?/^1[89]|[2-9]\d|100$/

? ? ? ? ? ? (7)邮箱:? ? ?asdsad@163.com? ? ? ? ? ?/^\w{5,12}@[a-z0-9]{2,8}\.com$/

? ? ? ? ? ? (8)? 过滤html? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /[^]+/g;

? ? ? ? 1、分组? ? ab+ abbbb? (ab)+

? ? ? ? 2、匹配子级

? ? ? ? ? ? ? 配合replace使用? str.replace(reg,function(s,a,b){

? ? ? ? ? ? ? ?s是 整体

? ? ? ? ? ? ? ?a是第一个括号的项

? ? ? ? ? ? ? ?b是第二个括号的项

? ? ? ? ? })

? ? ? ? 3、优选级? ^(1[89]|[2-9]\d|100)$

? ? ? ? 4、重复的子项

? ? ? ? ? ? ? abbb? ? ? ? ? /(a)(b)\2+/

今天先给大家总结到这儿,后续还会有补充

js 正则验证不能含有中文与特殊字符

varmyReg = /^[a-zA-Z0-9_]{0,}$/;

if(!myReg.test(input.val())) {

??$.validation.tip(false, input, "用户名不能含有中文或特殊字符");

??return;

}

js通过正则表达式限制input输入框只能输入英文字母和数字,不能输入中文。

input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')"

文本框中仅允许输入英文字母,小数点,数字,禁止输入中文字符以及其他特殊字符!

input?type="text"?name="username"?onkeyup="value=value.replace(/[^\w\.\/]/ig,'')"?/

输入大于0的正整数

input onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}"

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:

正则表达式在线生成工具:

var temp = 'abcdefg Fw:123456 Fw:789.1011';

temp =temp.indexOf(‘.’); //匹配某个字符位置

alert(temp);??var temp = 'dsd-5555'

temp =temp.replace('-',''); //匹配某个字符必替换

alert(temp);

js如何正则验证密码

可以是这样的,必须包含字母和数字的组合,可以使用特殊字符,长度在5-20之间,应该符合你的要求:

/^(?=.*\d)(?=.*[a-zA-Z]).{5,20}$/

js里面的正则\d+和\d*有什么区别?

区别只有下面这一点:

匹配的内容不同:

\d+:一个或多个数字。

\d*:0个或多个数字。

正则表达式:

一个描述字符规则的对象。可以用来检查一个字符串是否含有某个字符,将匹配的字符做替换或者从某个字符串中取出某个条件的子串等。

使用正则的原因:

前端往往有大量的表单数据校验工作,采用正则表达式会使得数据校验的工作量大大减轻。

扩展资料:

正则的创建方式:

1、构造函数方式

varreg1=newRegExp("a");

varstr="adassdfsd";

console.log(str.match(reg1))

2、字面量方式,古老的perl语言风格

varreg2=/a/;

console.log(str2.match(reg2));

JS中正则表达式只有3种匹配模式(没有单行模式)详解

JS正则表达式对象模式仅有如下三种:

g

(全文查找出现的所有

pattern)

i

(忽略大小写)

m

(多行查找)

即没有单行匹配模式,Singleline(单行模式):更改.的含义,使它与每一个字符匹配(包括换行符\n)。

如java中

String

regex

=

"(?s)(?=interface).{0,500}(shutdown)";---------"."表示在一行。

但可以采用[\d\D]或[\w\W]或[\s\S]或(.|\s)*?来解决不能换行问题

以上这篇JS中正则表达式只有3种匹配模式(没有单行模式)详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

(责任编辑:IT教学网)

更多

相关测评专题文章

推荐测评专题文章