JavaScript:一门客户端脚本语言,运行在客户端浏览器中的。每一个浏览器都有JavaScript的解析引擎
脚本语言:不需要编译,直接就可以被浏览器解析执行了
功能:
可以来增强用户和html页面的交互过程,可以来控制html元素,让页面有一些动态的效果,增强用户的体验。
组成:
ECMAScript:定义了js的基础语法和基础对象
BOM:js控制浏览器的内容
DOM:js控制html页面中标签的内容
Function -- 函数对象 (相当于java中的方法)
public int xx(int a,String b){}
function var xx(var a,var b){} -- js中所有的数据类型都可以用var接收,所以不写
定义方式一(有名字的函数):function xx(a,b){}
定义方式二(匿名函数):var xx = function(a,b){}
方法体中有return语句,那么该函数有返回值,没有return语句,那么该函数没有返回值
在函数对象的内部有一个隐士对象--arguments,可以接收传递的所有参数,所以方法调用时可以传递任意多个参数
js中,函数的对象只和函数的名称有关,和参数列表无关,多个同名的函数会有覆盖效果
function fun1(a,b){
}
var fun1 = function(){
return 1;
}
var a = fun1(1,2);// 方法名相同,会覆盖,覆盖后的方法有返回值,调用时可以传递任意多个参数
RegExp:
规则定义:
单词字符 -- 只能匹配一个字符
[a]
[abc]
[a-z]
[0-9]
[0-9a-zA-Z_]
元字符 -- 替代单词字符写法
\d
\w
量词 -- 修饰单词字符或者元字符,用于定义字符出现次数
* :任意多个
? :0次或1次
+ :1次或多次
{m,n} :最少m次,最多n次
{m,} :至少m次
{,n} :最多n次
{m} :只能m次
对象创建
var reg = new RegExp("正则"); ** 注意:如果正则表达式中有\ 一定记得写\\
-- var reg = new RegExp("^\\d*$");
var reg = /正则/;
-- var reg = /^\d*$/;
校验方法
var b = reg.test("");
例:密码的规则效验
密码有6-12位单词字符组成,其中必须包含数字和字母
var pwd = "kjhke7879aadd";
var reg_length= new RegExp("^\\w{6,12}$");
if(reg_length.test(pwd)){
var reg = /(^\w*[0-9]\w*[a-zA-Z]\w*$|^\w*[a-zA-Z]\w*[0-9]\w*$)/;
if(reg.test(pwd)){
alert("ok");
}else{
alert("必须包含字母和数字");
}
}else{
alert("长度必须是6-12位");
}
|
|