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

JavaScript正则表达式cookie.replace(/^\s+|\s+$/g,'');这是什么意思?

一般来说,如果Cookie以一个或多个空格开头,则将所有空格替换为空格,或者如果Cookie以一个或多个空格结尾,则将所有空格替换为空格。

符号含义:

\s:空格,空白

+:一个或多个

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

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

|:或

/g:全局、全局

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”,这里代表“global”。
如果第二个参数为“i”,则表示不区分大小写,匹配时不考虑字母大小写。
结合以上两者,您可以搜索所有字符串“apple”,无论大小写问题。

复制代码

代码如下:

var

regApple

=

new

RegExp("apple",

"gi");

正则表达式没有唯一的表达方法,使用Perl中的语法语言,上面的表达式可以表示为:

复制代码

代码如下:

var

regApple

=

/apple/gi;

创建RegExp对象后,RegExp方法可以构造各种匹配方法。
由于正则表达式对字符串进行操作,因此一些String方法也在正则表达式的构造中发挥作用。

RegExp对象的方法

复制代码

代码如下:

var

SampleString

=

"青苹果";

var

regApple

=

/apple/;

alert(regApple.test(sampleString));

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

复制代码

代码如下:

var

模板字符串

=

“苹果

青苹果,

苹果

红色”;

var

regApple

=

/apple/g;

var

arr

=

regApple.exec(sampleString);

传递通过使用exec()方法,返回的数组是一个匹配数组,包括每个匹配值和包含它的段。
例如,在上面的示例中,它是“绿色

应用程序”还是“苹果

红色”。
match()方法与exec()功能相同,但表达式不同:

复制代码

代码如下:

var

sampleString

=

“绿色

苹果,

红色

苹果”;

var

regApple

=

/apple/g;

var

arr

=

sampleString.match(regApple);

search()方法与indexOf()类似,返回第一个匹配字符串的位置。
位置:

复制代码

代码如下:

var

sampleString

=

“青苹果

青苹果,

红苹果

苹果”;

var

regApple

=

/apple/gi;

alert(sampleString.search(regApple));

//输出“6”

字符串方法

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

复制代码

代码如下:

var

sampleString

=

“是

a

绿色

苹果。
";

alert(sampleString.replace("绿色",

"红色"));

//结果“有

一个

红色

苹果。

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

复制代码

代码如下:

var

sampleString

=

“那里

一个

蓝色

苹果.";

var

regApple

=

/apple/;

alert(sampleString.replace(regAapple,

"red"));

//输出“有

一个

红色

苹果。

替换()的第二个参数可以被function()替换,它接受匹配的字符串作为参数并返回替换字符串。
(存疑)

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

复制代码

代码如下:

var

fruit

=

"苹果、梨、柠檬";

var

arr

=

fruit.split(",");

使用正则表达式:

复制代码

代码如下之后:

var

水果

=

"苹果、梨、柠檬";

var

reg

=

/\,/;

var

arr

=

fruit.split(reg);

常规JavaScript脚本通常判断是否为数字

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

?//?this?is?a?number

这是一个更紧密的匹配,可以匹配整数和小数,并且数字不能以多个零开头

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

链接?“?href="all.css"

script?src="validate.js"/script

script?src="login.js"/script

/head

正文

div?class="x-stage"

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

二v?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="Post注册"/

/form

/div

/body

/html

注册注册页面。
html

!doctype?html

html?lang="en"

head

meta?charset="UTF-8"

titleregist/title

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

脚本t?src="validate.js"/script

脚本?src="regist.js"/script

正文

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-用户名"?name?=?"用户名"?type="text"?class="x-input"/div?class="x-提示“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"?样式e="password"?class="x-input"/div?class="x-prompt"/div/div

div?class="x-field"font?class="x-需要“*/fontlabel?for=“电子邮件”?class=“x-label”电子邮件:/labelinput?id=“电子邮件”?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"male/inputinput?id="e-sex-女人”?名字=“性别”?type="radio"?class="x-input"female/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.login.onclick?=?function(){

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

return?false;

form.action?=?lastWorkUrl;

};

Register.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();

};

form.action?=?lastWorkUrl;

form.submit();

};

确切的脚本valid.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;

返回?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(pwdpwd?==?cpwdthis.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-标签{

字体粗细:?粗体;

左右:?5px;

宽度:?60px;

显示:?内联块;

垂直对齐:?中间;

.x-input{

轮廓:无;

垂直对齐:?中;

.x-prompt{

颜色?:?红色;

字体大小:?12px;

mar杜松子酒:?5px?0?5px?70px;

.x-要求{

颜色?:?红色;

javascript脚本

将JavaScript脚本写入js文件,然后通过在HTML标签中使用它来引入它。
JavaScript文件可以包含多个函数,使它们更易于引用。
这种方式的优点是代码更加模块化,易于复用和逻辑分离,有助于提高代码的可维护性和可读性。
另一种方法是直接在标签中编写JavaScript函数,然后在标签中的特定位置通过函数名称直接引用它。
这种方式虽然方便,但是不利于代码管理和维护。
相比第一种方法,显然更推荐第一种方法,因为它可以实现更好的代码分离,让代码更清晰,方便团队协作。
也可以直接在应用程序中编写JavaScript代码,但这种方法往往会导致代码难以维护,也不利于团队协作。
当项目规模较大时,直接编写大量JavaScript代码会导致页面加载速度变慢,甚至可能导致页面加载失败。
因此,在实际开发中,建议尽可能将JavaScript代码提取到外部文件中,以提高代码的可维护性和性能。
简而言之,将JavaScript代码隔离到外部文件中是更推荐的方法。
这种方式不仅简化了代码的管理和维护,还有助于提高代码的可读性和可重用性。
在实际开发中,应尽可能遵循这些原则,以提高代码质量和开发效率。