js学习笔记5

12.        DOM

基于是针对XML的基于树的API,SAX(Simple API for XML)是一个基于事件的XML解析的API.

node节点的属性和方法

nodeName     

String

节点的名字,根据节点的类型定义

nodeValue      

String

节点的值,根据节点的类型定

nodeType

Number

节点类型常量

ownerDocument

Document

指向这个节点所属的文档

firstChild

Node

指向在childNodes列表中的第一个节点

lastChild

Node

指向在childNodes列表中的最后一个节点

childNodes

NodeList

所有节点的列表

previousSibling

Node

指向前一个兄弟节点;

nextSibling

Node

指向后一个兄弟节点

hasChildNodes()

Boolean

childNodes包含一个或多个节点时,返回真

attributes

NamedNodeMap

包含了代表一个元素的特性的Attr对象,仅用于Element节点

appendChild(node)

Node

node添加到childNodes的末尾

removeChilde(node)

Node

childNodes中删除node

replaceChild(newnode,oldnode)

Node

childNodes中的oldnode替换成newnode

insertBefore(newnode,refnode)

Node

childNodes中的refnode之前插入newnode

例子:

var oHtml = document.documentElement;

 var oHead = oHtml.firstChild;  // or var oHead = oHtml.childNodes[0] or var oHead = oHtml.childNodes.Item[0]

 var oBody = oHtml.lastChild;   // or var oBody = oHtml.childNodes[1] or var oBody = oHtml.childNodes.Item[1]

 var oBody = document.body;

 alert(oHead.parentNode == oHtml);//outputs "true"

 alert(oBody.parentNode == oHtml);//outputs "true"

 alert(oBody.previousSibling == oHead);//outputs "true"

 alert(oHead.nextSibling == oBody);   //outputs "true"

 alert(oHead.ownerDocument == document);//outputs "true"

DOM特性的方法

getAttribute(name)  //or attributes.getNamedItem(name).value

setAttribute(name,newvalue)// or attribute.getNamedItem(name).value = newvalue;

removeAttribute(name) //or attributes.removeNamedItem(name)

DOM访问指定节点方法

getElementsByTagName() //用来返回一个包含所有的tagName(标签名)特性等于某个指定定值的NodeList.

: var oImgs = document.getElementsByTagName(“img”);则把所有图开明的都丰于oImgsk ,只需使用方括号标志或者item()方法(getElementsByTagName()返回一个和childNodes一样的NodeList),就可以像访问子节点那样逐个访问这些节点了.

alert(oImgs[0].tagName); //outputs “IMG”

document.all //返回所有的元素

getElementsByName()//获取所有name特性等于指定什的元素.,IE中它们仅仅检查<input/><img/>元素,同时还会返回ID等于给定名称的元素.

getElementById()//返回id特性等于指定值的元素,IE6.0中还会返回给定的ID所匹配的某个元素的name特性.

DOM创建和操作节点

dom操作必须在页面完全载入之后才能进行.当页面正在载入时,要向DOM插入相关代码是不可能的,因为在页面完全下载到客户端机器之前,是无法完全构建DOM树的.因为这个原因,必须onload事件句柄来执行所有的代码.

createElement()   //创建节点

createTextNode()  //创建节点文本

appendChild()    //追加节点

:

  <script type=”text/javascript”>

  function createMessage(){

  var oP= document.createElement(“p”);

  var oText = document.createTextNode(“hello world”);

  oP.appendChild(oText);

  document.body.appendChild(oP);

</script>

<body onload = “createMessage()”>

</body>

removeChild()  //删除一个节点

<script type=”text/javascript”>

  function removeMessage(){

  var oP= document.getElementsByTagName(“p”)[0];

  document.body.removeChild(oP);  //或者 oP.parentNode.removeChild(oP);

</script>

<body onload = “removeMessage()”>

</body>

replaceChild()  //两个参数,被添加的节点和被捕替换的接点

<script type=”text/javascript”>

  function replaceMessage(){

  var oNewP= document.createElement(“p”);

  var oText = document.createTextNode(“hello world”);

  oNewP.appendChild(oText);

  document.body.appendChild(oP);

  var oOldP = document.body.getElementsByTagName(“p”)[0];

  oOldP.parentNode.replaceChild(oNewP,oOldP);

</script>

<body onload = “replaceMessage()”>

</body>

insertBefore()  //要添加的节点和要插在哪个节点之前.

<script type=”text/javascript”>

  function replaceMessage(){

  var oNewP= document.createElement(“p”);

  var oText = document.createTextNode(“hello world”);

  oNewP.appendChild(oText);

  document.body.appendChild(oP);

  var oOldP = document.body.getElementsByTagName(“p”)[0];

  oOldP.parentNode.insertChild(oNewP,oOldP);

</script>

<body onload = “insertMessage()”>

</body>

createDocumentFragment()  //创建文档碎片

function createFragment()

   {

      var arrText = ["first","second","third","fourth","firth","sixth","seventh","eighth","ninth","tenth"];

         var oFragment = document.createDocumentFragment();

         for (var i = 0; i < arrText.length ; i++ )

         {

            var op = document.createElement("p");

               var oText = document.createTextNode(arrText[i]);

               op.appendChild(oText);

               oFragment.appendChild(op);

         }

         document.body.appendChild(oFragment);

       }

遍历DOM

NodeIterator对象可以深度优先的搜索,要引用NodeIterator,需要用document.createNodeIterator()方法,这个方法有四个参数

  第一个::root  //从树中开始搜索的那个节点

  第二个:whatToShow 一个数值代码,代表哪些节点需要访问

  第三个:filter NodeFilter对象,用来决定需要忽略哪些节点

  第四个:entityReferenceExpansion 表示是否需要扩展实体引用

what to Show参数可以是如下一个名多个常量

NodeFilter.SHOW_ALL  //显示所有的节点类型

NodeFilter.SHOW_ELEMENT  //显示元素节点

NodeFilter.SHOW_ATTRIBUTE  //显示元素特性节点

NodeFilter.SHOW_TEXT  //显示文本节点

NodeFilter.SHOW_CDATA_SECTION //显示CData section节点

NodeFilter.SHOW_ENTITY_REFERENCE  //显示实体引用节点

NodeFilter.SHOW_ENTITY  //显示实体节点

NodeFilter.SHOW_PROCESSING_INSTRUCTION  //显示PI节点

NodeFilter.SHOW_COMMENT  //显示注释节点

NodeFilter.SHOW_DOCUMENT  //显示文档节点

NodeFilter.SHOW_DOCUMENT_FRAGMENT  //显示文档碎片节点

NodeFilter.SHOW_NOTATION  //显示记号节点

:

var iterator = document.createNodeIterator(document, NodeFilter.SHOW_ALL,null,false);

var node1 = iterator.nextnode();//前进一个节点

var node2 = iterator.previousNode(); //后退一个节点

TreeWalker有点像NodeIterator的大哥,它有NodeIterator所有的功能(nextNode()previousNode())并添加了一些新的方法

parentNode()

firstChild()

lastChild()

nextSibling()

previousSibling()


 

 

13.        TABLE方法

<table/>元素添加以下内容

cation    指向<cation/>元素

tBodies  <tbody/>元素的集合

tFoot    指向<tfoot/>元素

tHead    指向<thead/>元素

rows     表格中所有行的集合

createTHead()  创建<thead/>元素并将其放入表格;

createTFoot()  创建<tfoot/>元素并将其放入表格;

createCaption() 创建<caption/>元素并将其放入表格;

deleteTHead()

deleteTFoot()

deleteCaption()

deleteRow(position)  删除指定位置上的行

insertRow(position) rows集合中指定位置上插入一个新行

<tody/>元素添加了以下内容

rows  <tbody/>中所有行的集合

deleterow(position) 删除指定位置上的行

insertrow(position) rows集合中的指定位置上插入一个新行

<tr/>元素中添加了以下内容

cells    </tr>元素中所有的单元格的集合

deleteCell(position)  删除给定位置上的行

insertCell(position)  cells集合的给定位置上插入一个新的单元格.

14.        正则表达式

JavaScript对正则表达式的支持是通过ECMAScript中的RegExp类实现的.

判断某个字符串是否匹配指定定的模式,最简单的情况是RegExp有个test()方法,如果给定字符串(只有一个参数)匹配这个模式,它就返回true,否则返回false

test()方法

var sToMatch = ‘cat’;

var reCat = /cat/;

alert(reCat.test(sToMatch));  //outputs ‘true’

 

var sColor = "blue";

var reB = //142/;  //字符b

alert(reB.test(sColor));

search()方法 返回在字符串中出现的一个匹配的位置

var sTo = 'a bat , a cat , a fat bat, a fat cat';

       var reAt = /at/gi;

       alert(sTo.search(reAt));  //outputs 3

replace()方法,replace()方法的第二个参数可以是函数

var sToChange = "The sky is red. ";

alert(sToChange.replace("red","blue"));  //outputs The sky is blue

 

 

var sToChange = “The sky is red “;

reRed = /red/;

alert(sToChange.replace(reRed,"blue"));  //outputs The sky is blue

  

var sToChange = "The sky is red. ";

       var reRed = /red/;

       alert(sToChange.replace(reRed,function(sMatch){return "blue";})); //outputs The sky is blue

split(),将字符串分割成一系列子串并通过一个数组将它们返回.

var sColor = "red,blue,yellow,green"

       var arrColors = sColor.split(",");//split at each comma

alert(arrColors);  //outputs ‘red,blue,yellow,green’

var sColor1 = "red,blue,yellow,green"

       var reComma = //,/;

       var arrColors = sColor1.split(reComma);

alert(arrColors);

字符类

简单类

var sToMatch = ‘a bat. a cat. a fat bat. afat cat’

var reBatCatRat = /[bcf]at/gi;

var arrMatches = sToMatch.match(reBatCatRat);

var sToMatch = ‘a bat. a cat. a fat bat. afat cat’

var reBatCatRat = /[/uoo62cf]at/gi;

var arrMatches = sToMatch.match(reBatCatRat);

负向类

^脱节字符告诉正则表达式字符不能匹配后面跟着的字符

var sToMatch = ‘a bat. a cat. a fat bat. afat cat’

var reBatCatRat = /[^bf]at/gi;  //bf开始的不能进行匹配

var arrMatches = sToMatch.match(reBatCatRat);

范围类

-          字符表示从什么到什么

[a-z] 表示从字母a z

var sToMatch = "num1,num3,num4,num4,num5,num7"

   var reonetoFour = /num[1-4]/gi;  //[^1-4]表示排除1-4

   alert(sToMatch.match(reonetoFour));

组合类

由几种其它的类组合而成的字符类.

[a-m1-4/n]//表示匹配所有从am的字母及从1-4的数字,以及一个换行符.

预定义类

代码

等同于

匹配

.

[^/n/r]

除了换行和回车之外的任意字符

/d

[0-9]

数字09

/D

[^0-9]

除数字09

/s

[ /t/n/x0B/f/r]

空白字符

/S

[^/t/n/x0B/f/r]

非空字符

/w

[a-zA-Z_0-9]

单词字符(所有的字母,所有的数字和下划线)

/W

[^a-zA-Z_0-9]

非单词字符

 

var sToMatch = "567 9838 abc"

   var reThreeNums = /[0-9][0-9][0-9]/;  //匹配3个数字

   alert(reThreeNums.test(sToMatch));   //outputs true

        var sToMatch = "567 9838 abc"

            var reThreeNums = //d/d/d/;

            alert(reThreeNums.test(sToMatch));//outputs true

量词

简单量词

代码

量词

?

出现零次或一次

*

也现零次或多次(任意次)

+

出现一次或多次(至少出现一次)

{n}

一定出现n

{n,m}

至少出现n次但不超过m

{n,}

至少出现n

假设想匹配单词bread,readred.如下如下两种方法

var reBreadReadorRed = /b?rea?d/

var reBreadReadOrRed = /b{0,1}rea{0,1}d/

量词与字符类一起使用

var re = /b[ae]{1,2}d/;//这个表达式表示,字符类[ae]可以现最少一次,最多两次

正则表达式

匹配

ba?d

bad,bd

ba*d

bd,bad,baad,baaad

ba+d

bad,baad,baaad

ba{0,1}d

bad,bd

ba{0,}d

bd,bad,baad

ba{1,}d

bad,baad,baad

15.        事件

事件对象(Event)只在发生事件时才被创建,且只有事件处理函数才能访问.所有事件处理函数执行完毕后,事件对象被捕销毁.

IE中每个元素有两个方法 attachEvent() detachEvent()

   var fnClick = function(){ alert(“test”);}

   var oDiv = document.getElementById(“div1”);

   oDiv.attachEvent(“onclick”,fnclick);oDiv.onclick = fnClick;  //add the event handle

   oDiv.detachEvent(“onclick”,fnClick);//remove the event handle

DOM中方法addEventListener()removeEventListener()用来分配和除事件函数.

var fnClick = function(){ alert(“test”);}

   var oDiv = document.getElementById(“div1”);

   oDiv.addEventListener(“onclick”,fnclick,false);oDiv.onclick = fnClick;  //add the event handle

   oDiv.removeEventListener(“onclick”,fnClick,false);//remove the event handle

事件的属性和方法

IE

特性

类型

可读/可写

描述

altKey

Boolean

R/W

ture表示按下ALT,false表示没有

button

Integer

R/W

对于特定的鼠标事件,表示按下的鼠标按钮

0 –未按下按钮

1-按下左键

2-按下右键

3-同时按下左右按钮

4-按下中键

5-按下左键和中键

6-按下右键和中键

7-同时按下左中右键

cancelBubble

Boolean

R/W

将其设为true,将会停止事件向上冒泡

clientX

Integer

R/W

事件发生时,鼠标在客户端区域(不包含工具条,滚动条等)X坐标

clientY

Integer

R/W

事件发生时,鼠标在客户端区域(不包含工具条,滚动条等)Y坐标

ctrlKey

Boolean

R

true表示按下CTRL,false表示没有

fromElement

Element

R/W

某鼠标事件中,鼠标所离开的元素

keyCode

Integer

R/W

对于Keypress事件,表示按下按钮的Unicode字符.对于keydown/keyup事件 ,表示按下按钮的数字代号

offsetX

Integer

R/W

鼠标相对于引起事件的对象的X坐标

offsetY

Integer

R/W

鼠标相对于引起事件的对象的Y坐标

repeat

Boolean

R

如果不断触发keydown事件,则为true,否则为false

returnValue

Boolean

R/W

开发人员将其设置为false以取消事件的默认动作

screenX

Integer

R/W

相对于整个计算机屏幕的鼠标的X坐标

screens

Integer

R/W

相对于整个计算机屏幕的鼠标的Y坐标

shiftKey

Boolean

R/W

true表示按下shift,否则为false

srcElement

Element

R/W

引起事件的元素

toElement

Element

R/W

在鼠标事件中,鼠标正在进入的元素

type

String

R/W

事件的名称

x

Integer

R/W

鼠标相对于引起事件的元素的父元素的X坐标

y

Integer

R/W

鼠标相对于引起事件的元素的父元素的Y坐标

DOM事件对象包含的属性和方法

特性

类型

可读/可写

描述

altKey

Boolean

R/W

ture表示按下ALT,false表示没有

bubbles

Boolean

R

表示事件是否正在冒泡阶段中

button

Integer

R

对于特定的鼠标事件,表示按下的鼠标按钮

0 –未按下按钮

1-按下左键

2-按下右键

3-同时按下左右按钮

4-按下中键

5-按下左键和中键

6-按下右键和中键

7-同时按下左中右键

cancelBubble

Boolean

R/W

将其设为true,将会停止事件向上冒泡

calcellabel

Boolean

R

表示事件能否取消

charCode

Integer

R

按下的按键的Unicode

clientX

Integer

R

事件发生时,鼠标在客户端区域(不包含工具条,滚动条等)X坐标

clientY

Integer

R

事件发生时,鼠标在客户端区域(不包含工具条,滚动条等)Y坐标

ctrlKey

Boolean

R

true表示按下CTRL,false表示没有

currentTarget

Element

R

事件目前所指向的元素

detail

Integer

R

鼠标按镇民点击的次数

fromElement

Element

R

某鼠标事件中,鼠标所离开的元素

keyCode

Integer

R

对于Keypress事件,表示按下按钮的Unicode字符.对于keydown/keyup事件 ,表示按下按钮的数字代号

pageX

Integer

R

鼠标相对于页面的X坐标

pageY

Integer

R

鼠标相对于页面的Y坐标

preventDefault

Function

 

调用此方法来阻止事件的默认行为

relatedTarged

Element

R

事件的第二,经常用于鼠标事件

eventPhase

Integer

R

事件的阶段,可能是以下值中的一个

0  捕获阶段

1  在目标上

2  冒泡阶段

screenX

Integer

R

相对于整个计算机屏幕的鼠标的X坐标

screens

Integer

R

相对于整个计算机屏幕的鼠标的Y坐标

shiftKey

Boolean

R

true表示按下shift,否则为false

isChar

Boolean

R

表示按下的按键是否有字符与之相关

stopPropagetion()

Function

R

阻止将来事件冒泡

type

String

R/W

事件的名称

target

Element

R

引起事件的元素/对象

timestamp

Long

R

事件发生的时间

IEDOM事件的相似性

a)         获取事件的类型

function hadleEvent(oEvent)

{

  if(oEvent.type == “click”)

   {}

  else if(oEvent.type == “mouseOver”){}

}

b)        获取按键代码(keydow/keyup事件)

var iKeyCode = oEvent.keyCode

回车键:13 空格键:32 回退键:8

c)        检测Shift,Alt,Ctrl

var bShift = oEvent.shifKye;

var bAlt = oEvent.altKey;

var bCtrl = oEvent.ctrlKey

d)        获取客户端坐标

var iClientX = oEvent.clientX;

var iClientY = oEvent.clientY;

e)         获取屏幕坐标

var iScreenX = oEvent.screenX;

var iScreenY = oEvent.screenY;

IEDOM区别

1)        获取目标

IE; var oTarget = oEvent.srcElement;

DOM:var oTarget = oEvent.target;

2)        获取这符代码

3)        阻止某个事件的默认行为

IE: oEvent.returnValue = false;

DOM.oEvent.preventDefault()

阻止使用上下文菜单

document.body.oncontextmenu = function(oEvent)

{

   if(isIE) {

oEvent = window.event

oEvent.returnValue = false;

}

else

{

  oEvent.preventDefault()

}

}

4)        停止事件复制(冒泡)

IE中要阻止事件进一步冒泡,须设置cancelButle属性为true

oEvent.cancelBubble = true;

事件类型

click

dblclick    双击事件

mousedown  用户点击鼠标按钮时发生

mouseout    鼠标指针在某个元素上,且用户正要将其移出元素的边界时发生

mouseover   鼠标移出某个元素,到另一个元素上时发生.

mouseup     松开任意一个按钮时发生

mousemove   鼠标在某个元素上时持续发生

 

function handleEvent(oEvent)

   {

     var oTextbox = document.getElementById("txt1");

        oTextbox.value += "/n"+oEvent.type;

        

}

<div style="width:100px;height:100px;background-color:red"

οnmοuseοver="handleEvent(event)"

οnmοuseοut="handleEvent(event)"

οnmοusedοwn="handleEvent(event)"

οnmοuseup="handleEvent(event)"

οnclick="handleEvent(event)"

οndblclick="handleEvent(event)" id="div11"></div>

改变图片

<img src=”imge1.gif” οnmοuseοver=”this.src=’image2.gif’”

οnmοuseοut=”this.src=’image1.gif’”/>

键盘事件

keydown

keypress(不管shift,alt之类的键)

keyup

HTML事件

load事件 //页面载入后,window对象上触发;所有框架都载入后,在框架上触发;<img/>完全载入后触发.

unload事件//页面卸载后,window对象上触发;所有框架都卸载后,在框架上触发;<img/>完全卸载后触发.

abort事件 用户停止下载过程时

error事件 JavaScript脚本出错时,window对象上触发.某个<img>的指定图像无法载入时,在其触发,或是框架集中的一个或多个框架无法载入时触发.

select事件用户选择了文本框中的一个或多个字符时触发(<input/></textarea./>)

change事件 文本框((<input/></textarea./>)失去焦点时并且在它获取焦点后内容发生过改变时触发.

submit事件:点击提交按钮时(<input type=”submit”/>,form上触发

reset事件:点击重置按钮(input type=”reset”/>,form上触发

scroll事件 :用户在任何带滚动条的元素上卷动它时触发.<body/>元素包含载入页面时滚动条.

focus事件上:任何元素或者窗口本身获取焦点时(用户点击它,Tab键切换到它或者任何其他与它交互的手段)触发.

blur事件:任何元素或者窗口本身失去焦点时触发

16.        样式表

IE提供一个style对象来管理元素CSS样式

div id="div2" style="background-color:red;height:50px;width:50px"

οnmοuseοver="this.style.backgroundColor = 'blue'"

οnmοuseοut="this.style.backgroundColor = 'red'"></div>

自定义鼠标提示

function showTim(oEvent)

       {

        

         var oDiv = document.getElementById("divTip");

         oDiv.style.visibility = "visible"

         oDiv.style.left = oEvent.clientX + 5;

         oDiv.style.top = oEvent.clientY + 5;

       }

       function hideTim(oEvent)

       {

          var oDiv = document.getElementById("divTip");

          oDiv.style.visibility = "hidden"

       }

 

<div id="divTip"style="background-color:yellow;position:absolute;visibility:hidden;padding:5px">

    <span style="font-weight:bold">custom Tooltip</span>

       <br/>

    more details can go here

</div>

可折叠区域

function toggle(sDivId){

         var oDiv = document.getElementById(sDivId);

         oDiv.style.display=(oDiv.style.display == "none")?"block":"none";

         }

<div style="background-color:blue;color:white;font-weight:bold;padding:5px;cursor:pointer"

     οnclick="toggle('divContent1')">Click Here</div>

<div style="border:3px solid blue;height:100px;padding:10px" id="divContent1">this is some content to show and hide.</div>

innerText     用来修改起始标签和结束标签之间的文本

innerHTML  直接给HTML分配HTML字符串

outText      将删除标签本身并把它替换成文本的节点

outHTML    将删除标签本身并把它替换当前的标签

17.        表单和数据完整性

获取表单的引用

var aForm = document.getElementById(“form1”)

  document.forms[0]

  document.forms[“form1”]

访问表单字段

var oFirstField = oForm.elements[0]  //get the first form field

var oTextbox1 = oForm.elements[“textbox1”]//get the field with the name “textbox1”

var oTextbox1 = oForm.textbox1;

表单字段的共性

disabled

form 用来指向字段所在的表单

blur()方法可以使表单字段失去焦点

focus()方法可以使表单字段获取焦点

var oField1 = oForm.elements[0];

var oField2 = oForm.elements[1];

oField1.disabled = true;

oField2.focus();

alert(oField1.form == oForm) ;//outputs “true”

聚焦于第一个字段

在页面的onload事件中写如下代码

document.forms[0].elements[0].focus();

下面是一种通用的方法

FormUtil.focusOnFirst = function()

{

if(document.forms.length > 0)

for(var i=0; I < document.forms[0].elements.lenght;i++)

{
      var oField = document.forms[0].elements[i];

  if(oField.type != “hidden”)

{

   oField.focus()

             return;

}

}

}

表单提交

<input type=”submit” value=”Submit”/>按钮

或用submit()方法

表单仅提交一次

<input type=”button” value=”Submit” οnclick=”this.disabled=true;this.form.submit()”/>

选择文本

function selectText()

{

  var oTextbox = document.getElementById(“txt1”);

  oTextbox.focus()

  oTextbox.select();

}

文本框事件

change

select

自动选择文本

<input type=”text” οnfοcus=”this.select()”/>

<textarea οnfοcus=”this.select()”/>

 

自动切换到下一个元素

function tabForward (oTextBox)

{

var oForm = oTextBox.form;

//make sure the textbox is not the last field in the form

if(oForm.elements[oForm.elements.length -1] != oTextBox && oTextBox.value.length == oTextBox.getAttribute(“maxlenght”))

{

   for(var i= 0; i< oForm.elements.length; i++)

{

   if(oForm.elements[i] == oTextBox)

{

  for(var j= i+1; j<oForm.elements.length; j++)

{

  if(oForm.elements[j].type != “hidden”

{

  oForm.elements[j].focus();

  return;

}

}

}

}

}
}

<input type=”text” id=”txtAreaCode” maxlenght=”3” οnkeyup=” tabForward(this)”/>

限制textarea的字段数

var TextUtil = new Object();

TextUtil.isNotMax = function(oTextArea)

{

  return oTextArea.value.length !=oTextArea.getAttribute(“maxlength”);

}

<textarea id="txt1" rows="15" cols="50" maxlength="20" οnkeypress="return TextUtil.isNotMax(this)"/>

允许/阻止文本框的字符

阻止无效的字符

TextUtil.blockChars = function (oTextbox, oEvent)

   {

     var invalidChars = oTextbox.getAttribute("invalidchars");

     var reg = //d/d/

     var cChar = String.fromCharCode(oEvent.charCode)

     return reg.test(cChar);

   }

<input type="text" invalidchars="0123456789" οnkeypress="TextUtil.blockChars(this,event)"/>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值