JavaScript正则脚本(js正则\b)

如题所述

第1个回答  2024-09-18
JavaScript正则表达式cookie.replace(/^\s+|\s+$/g,'');什么意思?

整体为如果cookie以一个或多个空格开始,替换全部空格为空,或者,如果cookie以一个或多个空格结束,替换全部空格为空。

符号含义:

\s:space,空格

+:一个或多个

^:开始,^\s,以空格开始

$:结束,\s$,以空格结束

|:或者

/g:global,全局

replace()替换

扩展资料:

基本特点

JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。

是一种解释性脚本语言(代码不进行预编译)。

主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。、

可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。

跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。

Javascript脚本语言同其他语言一样,有它自身的基本数据类型,表达式和算术运算符及程序的基本程序框架。Javascript提供了四种基本的数据类型和两种特殊数据类型用来处理数据和文字。而变量提供存放信息的地方,表达式则可以完成较复杂的信息处理。

JavaScript脚本语言具有以下特点:

(1)脚本语言。JavaScript是一种解释型的脚本语言,C、C++等语言先编译后执行,而JavaScript是在程序的运行过程中逐行进行解释。

(2)基于对象。JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象。

(3)简单。JavaScript语言中采用的是弱类型的变量类型,对使用的数据类型未做出严格的要求,是基于Java基本语句和控制的脚本语言,其设计简单紧凑。

(4)动态性。JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的输入做出响应。在访问一个网页时,鼠标在网页中进行鼠标点击或上下移、窗口移动等操作JavaScript都可直接对这些事件给出相应的响应。

(5)跨平台性。JavaScript脚本语言不依赖于操作系统,仅需要浏览器的支持。因此一个JavaScript脚本在编写后可以带到任意机器上使用。

参考资料来源:百度百科--javascript

参考资料来源:百度百科--正则表达式

JavaScript实现基础正则表达式

JavaScript通过RegExp类来支持正则表达式,举一个最简单的例子:

复制代码

代码如下:

var

regApple

=

new

RegExp("apple");

它可以匹配一个字符串中出现的第一个"apple"字符串,并且对大小写敏感。在构造方法中加入第二个参数"g"则代表的搜索出字符串中所有的

"apple",这里"g"代表"global"。如果第二个参数为"i",则代表着case-insensitive,匹配过程中将不考虑字母的大小写。将上述两者综合起来,可以搜索出所有"apple"字符串,并且不考虑大小写问题。

复制代码

代码如下:

var

regApple

=

new

RegExp("apple",

"gi");

正则表达式有着并不唯一的表示方法,使用Perl语言中的语法,可以将上述表达式表示为:

复制代码

代码如下:

var

regApple

=

/apple/gi;

创建了一个RegExp对象后,RegExp的方法可以构造出不同的匹配方式,因为正则表达式是对字符串进行的操作,所以String的一些方法在构造正则表达式的过程中也扮演着重要角色。

RegExp对象的方法

复制代码

代码如下:

var

sampleString

=

"Greenapple";

var

regApple

=

/apple/;

alert(regApple.test(sampleString));

上面代码输出的结果是"true",因为sampleString中包含了需要匹配的字符串"apple",这是最简单的检测方式。有时,我们需要知道匹配的详细结果,例如:

复制代码

代码如下:

var

sampleString

=

"green

apples,

red

apples";

var

regApple

=

/apple/g;

var

arr

=

regApple.exec(sampleString);

通过使用exec()方法,返回的arr是关于匹配结果的一个数组,包括每一个匹配的值及其所在的段,例如上例中是"green

apples"还是"red

apples"。match()方法有着和exec()相同的功能,只是表达方式不同:

复制代码

代码如下:

var

sampleString

=

"green

apples,

red

apples";

var

regApple

=

/apple/g;

var

arr

=

sampleString.match(regApple);

search()方法和indexOf()比较类似,返回第一个匹配的字符串所在的位置:

复制代码

代码如下:

var

sampleString

=

"green

apples,

red

apples";

var

regApple

=

/apple/gi;

alert(sampleString.search(regApple));

//输出"6"

String的方法

String的replace()方法可以将指定的字符串替换为另一个字符串:

复制代码

代码如下:

var

sampleString

=

"There

is

a

green

apple.";

alert(sampleString.replace("green",

"red"));

//输出"There

is

a

red

apple."

将replace()的第一个参数替换为一个正则表达式,可以达到同样的效果:

复制代码

代码如下:

var

sampleString

=

"There

is

a

green

apple.";

var

regApple

=

/apple/;

alert(sampleString.replace(regApple,

"red"));

//输出"There

is

a

red

apple."

replace()的第二个参数可以替换为一个function(),该function()接受一个匹配字符串作为参数,返回一个替换字符串。(存在疑问)

使用正则表达式可以实现String的split()方法相同的功能。

复制代码

代码如下:

var

fruit

=

"apple,pear,lemon";

var

arr

=

fruit.split(",");

使用正则表达式:

复制代码

代码如下:

var

fruit

=

"apple,pear,lemon";

var

reg

=

/\,/;

var

arr

=

fruit.split(reg);

javascript正则判断是否是数字的脚本

if?(/^(0|[1-9]\d*)(\.\d+)?$/.test(target))?{

????//?this?is?a?number

}

这是一个较为严格的匹配,可以匹配整数和小数,且数字不能以多个0开头。

JavaScript脚本用正则表达式/1.*?3/在“123143”中匹配

/1[0-9]3/g

g表示全局

一般来说的正则,只匹配到一次就默认停止了。

JavaScript-正则表达式练习

登陆页面login.html

????

!doctype?html

html?lang="en"

head

meta?charset="UTF-8"

titlelogin/title

link?rel="stylesheet"?href="all.css"

script?src="validate.js"/script

script?src="login.js"/script

/head

body

div?class="x-stage"

form?action="#"?class="x-form"

div?class="x-field"label?for="e-username"?class="x-label"用户名:/labelinput?id="e-username"?name?=?"username"?type="text"?class="x-input"//div

div?class="x-field"label?for="e-pwd"?class="x-label"密码:/labelinput?id="e-pwd"?name="pwd"?type="password"?class="x-input"//div

input?type="button"?name="login"?value="登陆"/

input?type="button"?name="regist"?value="注册"/

/form

/div

/body

/html

注册页面regist.html

!doctype?html

html?lang="en"

head

meta?charset="UTF-8"

titleregist/title

link?rel="stylesheet"?href="all.css"

script?src="validate.js"/script

script?src="regist.js"/script

/head

body

div?class="x-stage"

form?action="#"?class="x-form"

div?class="x-field"font?class="x-requirement"*/fontlabel?for="e-username"?class="x-label"用户名:/labelinput?id="e-username"?name?=?"username"?type="text"?class="x-input"/div?class="x-prompt"2-10位字符?数字和字母均可/div/div

div?class="x-field"font?class="x-requirement"*/fontlabel?for="e-pwd"?class="x-label"密码:/labelinput?id="e-pwd"?name="pwd"?type="password"?class="x-input"/div?class="x-prompt"6-20位?可以是数字字母或下划线/div/div

div?class="x-field"font?class="x-requirement"*/fontlabel?for="e-c-pwd"?class="x-label"确认密码:/labelinput?id="e-c-pwd"?name="cPwd"?type="password"?class="x-input"/div?class="x-prompt"/div/div

div?class="x-field"font?class="x-requirement"*/fontlabel?for="e-mail"?class="x-label"电子邮箱:/labelinput?id="e-mail"?name="mail"?type="text"?class="x-input"/div?class="x-prompt"用于验证和找回密码/div/div

div?class="x-field"font?class="x-requirement"*/fontlabel?for="e-sex-man"?class="x-label"性别:/labelinput?id="e-sex-man"?name="sex"?type="radio"?class="x-input"男/inputinput?id="e-sex-woman"?name="sex"?type="radio"?class="x-input"女/inputdiv?class="x-prompt"/div/div

input?type="button"?name="regist"?value="注册"/

/form

/div

/body

/html

登陆脚本login.js

window.onload?=?function(){

var?form?=?document.forms[0];

var?lastWorkUrl?=?'';

form.regist.onclick?=?function(){

form.action?=?'regist.html';

form.submit();

};

form.login.onclick?=?function(){

if(!validate.checkLogin(form.username.value,form.pwd.value))

return?false;

form.action?=?lastWorkUrl;

form.submit();

};

}

注册脚本regist.js

window.onload?=?function(){

var?form?=?document.forms[0];

var?lastWorkUrl?=?'';

form.regist.onclick?=?function(){

if(?!validate.checkUserName(form.username.value)

||?!validate.checkPwd(form.pwd.value)

||?!validate.checkConfirmPwd(form.pwd.value,form.cPwd.value)

||?!validate.checkMail(form.mail.value))

return?false;

form.action?=?lastWorkUrl;

form.submit();

};

}

验证脚本validate.js

var?validate?=?{

checkNull:function(value){

if(!value)?

return?alert('不能为空!'),false;

return?true;

},

checkLogin:function(name,pwd){

if(!name?||?!pwd)

return?alert('输入不正确!'),false;

return?true;

},

checkUserName:function(value){

if(!this.checkNull(value))

return?false;

if(!/^[A-Za-z0-9]{2,10}$/.test(value))

return?alert('2-10位字符?数字字母均可!'),false;

return?true;

},

checkPwd:function(value){

if(!this.checkNull(value))

return?false;

if(!/^\w{6,20}$/.test(value))

return?alert('6-20位?可以是数字字母或下划线!'),false;

return?true;

},

checkConfirmPwd:function(pwd,cpwd){

if(pwd??pwd?==?cpwd??this.checkPwd(pwd)??this.checkPwd(cpwd))

return?true;

return?alert('确认密码错误!'),false;

},

checkMail:function(value){

if(!this.checkNull(value))

return?false;

if(!/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(value))

return?alert('邮箱格式错误!'),false;

return?true;

}

};

样式表all.css

.x-stage{

width:400px;

margin:100px?auto;

}

.x-form{

}

.x-field{

margin-bottom:?5px;

font-size:?12px;

}

.x-label{

font-weight:?bold;

margin-right:?5px;

width:?60px;

display:?inline-block;

vertical-align:?middle;

}

.x-input{

outline:none;

vertical-align:?middle;

}

.x-prompt{

color?:?red;

font-size:?12px;

margin:?5px?0?5px?70px;

}

.x-requirement{

color?:?red;

}

logo设计

创造品牌价值

¥500元起

APP开发

量身定制,源码交付

¥2000元起

商标注册

一个好品牌从商标开始

¥1480元起

公司注册

注册公司全程代办

¥0元起

    官方电话官方服务
      官方网站八戒财税知识产权八戒服务商企业需求数字市场
相似回答
大家正在搜