JavaScript02

01Js内置对象String

在js中如何创建字符串对象

var 对象名 = new String(“字符串”);

例子:

​ var s1 = new String(“hello”);

​ var s2 = new String(“hello”);

​ document.write(s1 == s2);

比较是两个对象的地址是否相同,false

js中的valueOf()比较的是两个js对象的原始值是否相同

​ document.write(s1.valueOf() == s2.valueOf());

Js中创建对象String,简写格式就是直接 字符串常量赋值给变量

​ var s3 = “helloworld”;

​ var s4 = “helloworld”;

​ document.write((s3 == s4));//true

在Js中常用的方法

​ 1),charAt(index); 获取指定索引处的字符

​ var str = “helloworldJavaEE”;

​ document.write(str.chartAt(4));

​ 2),concat(字符串); 字符串拼接功能

​ document.write(str.concat(“王丽坤”));

​ 3),fontcolor(): 给字符串颜色标记(“参数英文单词或者#XXXXXX”)

​ document.write(str.fontcolor(“green”));

​ 4),substring(start,end); 截取功能 跟java中的String一样

​ document.write(str.substring(5,10));

​ 5),split(“字符串”); 拆分,分割,获取到的字符串数组

​ var str2 = “JavaEE-PhP-Go-C-C++”;

​ var strArray = str2.split(“-”);

//遍历for-in语句

​ for( var i in strArray){

​ document.write(strArray[i]+" ");

}


02Js自定义对象

方式1:类似于Java中有参构造

​ 定义对象格式 跟定义函数格式一样

​ function 对象(属性名称1,属性名称2,…){

​ //追加它的成员属性

​ this.成员属性1 = 属性名称1;

​ this.成员属性2 = 属性名称2;

​ …

​ //追加它得功能

​ this.方法名 = function(空参/带参){

​ …

​ }

}

​ 创建对象

​ var 对象名 = new 对象(实际参数列表);

例子:

​ 创建一个人对象

function Person(name, age, gender){

​ this.name = name;

​ this.age = age;

​ this.gender = gender;

​ this.speakEnglish = function(name){

​ alert(“会说”+ name);

​ }

}

​ 创建Person对象

​ var p = new Person(“王丽坤”,18,"女);

​ document.write(“姓名是:”+p.name+“,年龄是:”+p.age+“,性别是:”+p.gender);

//调用功能

p.speakEnglish(“英语”);

方式2:类似于Java中的无参构造

1).定义对象的格式:function 对象(){}

2).创建对象 var 对象名 = new 对象();

3).追加属性和追加功能

​ 对象名.属性名称 = “值”;

​ 对象名.方法名 = function(){}…

​ 定义对象

​ function Person2(){}

​ 创建Person2对象

​ var p2 = new Person2();

​ 追加属性和功能

​ p2.name = “文章”;

​ p2.age = 35;

​ p2.gender = “男”;

​ p2.playGame = function(gameName){

​ alert(“会玩”+gameName);

​ }

​ document.write(“姓名是:”+p2.name+“,年龄是:”+p2.age+“,性别是:”+p2.gender);

​ document.write(“csgo”);

方式3:使用Object对象(代表所有js对象)

直接new对象

​ var p3 = new Object();

​ p3.name = “王丽坤”;

​ p3.age = 18;

​ p3.gender = “女”;

​ p3.speakEnglish = function(name){

​ alert(p3.name+“会说”+name);

​ }

​ document.write(“姓名是:”+p3.name+“,年龄是:”+p3.age+“,性别是:”+p3.gender+) ;
​ p3.speakEnglish(“英语”) ;

方式4:字面值方式:“Json数据格式”

 方式4:字面值方式:"Json数据格式"基本格式:  {"key":value}这种键值对例子:需要描述一个学生---->姓名,年龄,性别,住址var student = {"name":"迪丽热巴";"age":27;"gender":"女";"playGame":function(gameName){document.write(this.name+"会玩"+gameName);};};document.write(student.name);student.playGame("王者荣耀");

Json_复杂类型

复杂格式
var 对象名 = [{},{},{}...]  描述类似数组或者集合var students =
[{"name":"范冰冰","age":45,"gender":"女","address":"西安市"},{"name":"李晨","age":36,"gender":"男","address":"北京市"},{"name":"邓超","age":46,"gender":"男","adderss":"上海市"}
];json对象[索引值].key获取对应的value值
document.write(student[1].address);

通过document方法获取标签对象

<html><head><meta charset="utf-8"><title>05_通过docuement方法获取标签对象</title></head><body><!-- 1)事件源 -->                            <!-- 失去焦点onblur-->用户名:<input type="text" id="username" class="cl_username" name="name" placeholder="请输入用户名" onblur="getUserName()" /> <!-- 3)绑定事件监听器--></body><script>//2)事件监听器:编写一个函数function getUserName(){//alert("触发了失去焦点事件了") ;//方式1:在标签中给定id属性值,必须唯一 (推荐)//document.getElementById("id属性值") 获取标签对象var username = document.getElementById("username") ;//方式2:docuement.getElementsByClassName("class属性值") ; 获取的标签对象列表//var username = document.getElementsByClassName("cl_username")[0] ;//方式3:docuement.getElementsByName("name属性值") ;//获取的标签对象列表//var username = document.getElementsByName("name")[0] ;//方式4:通过标签名称获取标签对象//docuement.getElementsByTagName("同名的标签名称") ; //返回的标签对象列表//var username = document.getElementsByTagName("input")[0] ;//标签对象获取value属性:内容可以获取到alert(username.value) ;}</script>
</html>

Js中常见事件分类


Js正则表达式语法

正则表达式:js引擎是能够识别这些语法

​ 1)数量词相关的语法

​ x:代表任意字符

​ x+: 表示x字符串出现一次或多次

​ x*: 表示x字符出现0次或者多次

​ x?: 表示X字符出现0次或者1次

​ 2)范围相关的语法

​ x{n}: 表示x字符恰好出现n次

​ x{n,}:表示x字符至少出现n次

​ x{n,m}:表示x字符至少出现n次,但是不超过m次

​ 3)匹配字符相关的

​ X[a-z]: x字符可以是a~z中任何的一个小写字母字符

​ X[0-9]: x字符是一个数字字符

​ X[A-Za-z0-9]:x字符可以是任意的大小写均可或者数字或者_

正则表达式:有一个函数 test(“接收用户输入的文本框的内容字符串”)

匹配是否成功

创建一个正则规则:

var 正则对象名 = /书写正则语法/; //不完全匹配(会出现漏洞!)

正则对象名.test(字符串),true,匹配成功,false,失败

在java语言中和在javascript中,如果要完全匹配,必须加入边界匹配器

​ ^:以…开头

​ $:以…结尾

创建正则对象

var reg = /[0-9]{2}/; 不完全匹配

var reg2 = /1{2}$/; 完全匹配

创建一个字符串

var str = “asd12mns”;

if(reg2.test(str)){

​ alert(“条件成立”);

}else{

​ alert(“条件不成立”);

}

js的表单校验

例子:
正则规则:用户名:4-14位的数字或者字母(不区分大小写)组成密码:6-10位的数字或者英文大小字母组成确认密码和密码一致邮箱:满足邮箱的格式数字或者字母@数字或者字母.com/.cm/.com.cn919081924@qq.com@163.com@Istone.com.cn本身字符就是.  需要\. 转义
<html><head><meta charset="utf-8"><title>08_js的表单校验</title><!-- 正则规则:用户名:4-14位的数字或者字母(不区分大小写)组成密码:6-10位的数字或者英文大小字母组成确认密码和密码一致邮箱:满足邮箱的格式数字或者字母@数字或者字母.com/.cm/.com.cn919081924@qq.com@163.com@Istone.com.cn本身字符就是.  需要\. 转义--></head><body><!-- form表单一个事件:onsubmit:表单是否你能够提交成功!携带的值如果true,能够提交成功false,提交失败!--><form action="server.html" method="get" onsubmit=" return checkAll()"> 用户名:<input type="text" id="username"  placeholder="请输入用户名" onblur="checkUserName()" /><span id="userTip"></span><br/>密&ensp;&ensp;码:<input type="password" id="pwd" placeholder="请输入密码" onblur="checkPwd()" /><span id="pwdTip"></span><br/>确认密码:<input type="password" id="repwd" placeholder="两次密码一致" onblur="checkRepwd()" /><span id="repwdTip"></span><br/>邮&ensp;&ensp;箱:<input type="text" id="email" placeholder="请输入邮箱" onblur="checkEmail()" /><span id="emailTip"></span><br/><input type="submit" value="注册" /></form></body><script>//校验用户名function checkUserName(){//1)获取 用户名的内容  (id="username"的input标签对象同时获取内容)var username = document.getElementById("username").value ;//2)定义用户名的正则规则:用户名:4-14位的数字或者字母(不区分大小写)组成var reg = /^[A-Za-z0-9]{4,14}$/ ;//3)获取 id="userTip"的span标签对象var span = document.getElementById("userTip") ;//4)正则表达式校验用户名的内容 usernameif(reg.test(username)){//成立span.innerHTML = "√".fontcolor("green") ;return true ;}else{//不成立span.innerHTML = "×".fontcolor("red") ;return false ;}}//校验密码function checkPwd(){//1)获取密码输入框的内容 dom操作var pwd = document.getElementById("pwd").value;//2)密码正则:6-10位的数字或者英文大小字母组成var reg = /^[A-Za-z0-9]{6,10}$///3)获取id="pwdTip"所在的span标签对象var span = document.getElementById("pwdTip") ;//4)正则校验if(reg.test(pwd)){//成立span.innerHTML = "密码格式满足".fontcolor("green") ;return true ;}else{//不成立span.innerHTML = "不符合格式".fontcolor("red") ;return false ;}}//校验确认密码function checkRepwd(){//1)获取密码框的内容var pwd = document.getElementById("pwd").value;//2)获取当前确认密码框的内容var repwd = document.getElementById("repwd").value ;//3)获取id="repwdTip" 所在的span标签对象var span = document.getElementById("repwdTip") ;//4)判断if(pwd == repwd){//成立span.innerHTML = "两次密码一致".fontcolor("green") ;return true ;}else{//不成立span.innerHTML = "两次密码不一致".fontcolor("red") ;return false ;}}//校验邮箱function checkEmail(){//1)获取邮箱的内容var email = document.getElementById("email").value ;//2) 邮箱的正则:数字或者字母@数字或者字母.com/.cn/.com.cnvar reg  = /^[A-Za-z0-9]+@[A-Za-z0-9]+(\.[a-z]{2,3}){1,2}$///3)获取id="emailTip"的span标签对象var span = document.getElementById("emailTip") ;//4)校验if(reg.test(email)){//成立span.innerHTML="邮箱格式正确".fontcolor("green") ;return true ;}else{//不成立span.innerHTML="不满足格式,重新输入".fontcolor("red") ;return false ;}}//将所有的表单项的都满足条件,才能提交function checkAll(){if(checkUserName() && checkPwd() && checkRepwd() && checkEmail()){return true ;}else{return false ;}}</script>
</html><html><head><meta charset="utf-8"><title>08_js的表单校验</title><!-- 正则规则:用户名:4-14位的数字或者字母(不区分大小写)组成密码:6-10位的数字或者英文大小字母组成确认密码和密码一致邮箱:满足邮箱的格式数字或者字母@数字或者字母.com/.cm/.com.cn919081924@qq.com@163.com@Istone.com.cn  本身字符就是.  需要\. 转义--></head><body><!-- form表单一个事件:onsubmit:表单是否你能够提交成功!携带的值如果true,能够提交成功false,提交失败!--><form action="server.html" method="get" onsubmit=" return checkAll()"> 用户名:<input type="text" id="username"  placeholder="请输入用户名" onblur="checkUserName()" /><span id="userTip"></span><br/>密&ensp;&ensp;码:<input type="password" id="pwd" placeholder="请输入密码" onblur="checkPwd()" /><span id="pwdTip"></span><br/>确认密码:<input type="password" id="repwd" placeholder="两次密码一致" onblur="checkRepwd()" /><span id="repwdTip"></span><br/>邮&ensp;&ensp;箱:<input type="text" id="email" placeholder="请输入邮箱" onblur="checkEmail()" /><span id="emailTip"></span><br/><input type="submit" value="注册" /></form></body><script>//校验用户名function checkUserName(){//1)获取 用户名的内容  (id="username"的input标签对象同时获取内容)var username = document.getElementById("username").value ;//2)定义用户名的正则规则:用户名:4-14位的数字或者字母(不区分大小写)组成var reg = /^[A-Za-z0-9]{4,14}$/ ;//3)获取 id="userTip"的span标签对象var span = document.getElementById("userTip") ;//4)正则表达式校验用户名的内容 usernameif(reg.test(username)){//成立span.innerHTML = "√".fontcolor("green") ;return true ;}else{//不成立span.innerHTML = "×".fontcolor("red") ;return false ;}}//校验密码function checkPwd(){//1)获取密码输入框的内容 dom操作var pwd = document.getElementById("pwd").value;//2)密码正则:6-10位的数字或者英文大小字母组成var reg = /^[A-Za-z0-9]{6,10}$///3)获取id="pwdTip"所在的span标签对象var span = document.getElementById("pwdTip") ;//4)正则校验if(reg.test(pwd)){//成立span.innerHTML = "密码格式满足".fontcolor("green") ;return true ;}else{//不成立span.innerHTML = "不符合格式".fontcolor("red") ;return false ;}}//校验确认密码function checkRepwd(){//1)获取密码框的内容var pwd = document.getElementById("pwd").value;//2)获取当前确认密码框的内容var repwd = document.getElementById("repwd").value ;//3)获取id="repwdTip" 所在的span标签对象var span = document.getElementById("repwdTip") ;//4)判断if(pwd == repwd){//成立span.innerHTML = "两次密码一致".fontcolor("green") ;return true ;}else{//不成立span.innerHTML = "两次密码不一致".fontcolor("red") ;return false ;}}//校验邮箱function checkEmail(){//1)获取邮箱的内容var email = document.getElementById("email").value ;//2) 邮箱的正则:数字或者字母@数字或者字母.com/.cn/.com.cnvar reg  = /^[A-Za-z0-9]+@[A-Za-z0-9]+(\.[a-z]{2,3}){1,2}$///3)获取id="emailTip"的span标签对象var span = document.getElementById("emailTip") ;//4)校验if(reg.test(email)){//成立span.innerHTML="邮箱格式正确".fontcolor("green") ;return true ;}else{//不成立span.innerHTML="不满足格式,重新输入".fontcolor("red") ;return false ;}}//将所有的表单项的都满足条件,才能提交function checkAll(){if(checkUserName() && checkPwd() && checkRepwd() && checkEmail()){return true ;}else{return false ;}}</script>
</html>

  1. 0-9 ↩︎

JavaScript02相关推荐

  1. wxpython+MySQL实现学生信息管理系统

    初学者,仅供学习交流 Python学习两周时间了,这是我目前编写的比较满意的一个程序,有以下几个方面的经验总结: 1.布局管理是可视化编程的基础思维,尽量避免定点式布局,不规则分布的各种控件可以局部先 ...

  2. JavaScript01 JS基础入门(详细描述)

    一.JavaScript导读 1.1 javascript概述: JavaScript主要用于HTML的页面,嵌入在HTML的源码中. JavaScript是因特网上最流行的脚本语言,它存在于全世界所 ...

最新文章

  1. TensorFlow 实现分类操作的函数学习
  2. Socket网络通讯_TCP协议
  3. 二分图模板(女生赛要用)
  4. Python matplotlib pyplot中title() xlabel() ylabel()无法显示在中文(方框乱码)的解决办法
  5. JFreeChart使用
  6. 【Linux系统编程应用】 Linux输入子系统(二)
  7. transformers tokenizer_summary
  8. 成功修复U盘,狂喜中~哈哈哈!!!
  9. Maven和Eclipse整合
  10. Ubuntu12.04增加屏幕分辨率选项
  11. STL标准模版库--vector的操作集合
  12. 广色域图片Android,Android Q将支持广色域照片
  13. 搭建eova开发环境
  14. sass实现前端页面基础框架布局
  15. 导师对计算机学生论文的评语,导师对论文的学术评语
  16. thinkadmin模板渲染与赋值
  17. Java设计模式:1.1.认识六个原则(开闭,里氏替代,依赖颠倒)
  18. opencv-python给图片添加半透明mask
  19. apache atlas 官方安装
  20. 用宅购节当前哨战,京东到家为双十一暗中蓄力

热门文章

  1. 【WY】数据分析 — Numpy 阶段一 :基础语法 一 —— 介绍
  2. OpenProcessToken
  3. [转载]1936年一位天津客的烟台游记
  4. Python setattr()函数
  5. linux下恢复win10启动,重装win10后原来的ubuntu系统启动项丢失恢复方式
  6. 刀塔传奇商人系统分析
  7. 盈透证券 简单API 实战
  8. Direct2D简介(原ZDD)
  9. 面试了一个程序员,只因这一个细节,被我一眼看穿是培训班出来的,没啥工作经验...
  10. javaweb二手商品供求网设计与实现(含论文下载)