关于正则表达式的问题

<!DOCTYPE html>

 <html>

 <head>

 <meta charset="utf-8" />

 <title>判断数字是否为两位数</title>

 <style type="text/css">

body {font: 12px/1.5 arial;text-align: center;}

.f-text {width: 50px;border: 1px solid #ccc;background:     #f0f0f0;font-family: inherit;padding: 3px;margin-right: 10px;}

</style>

<script type="text/javascript">

window.onload = function() {

var aInput = document.getElementsByTagName("input");

var aSpan = document.getElementsByTagName("span")[0];

var i = 0;

aInput[0].onkeyup = function() {

 this.value = this.value.replace(/[^\d]/,"");

}

 aInput[1].onclick = function() {

(aInput[0].value == "") ?

alert("请输入数字!") :

alert(/^\d{2}$/.test(parseInt(aInput[0].value)) ? "√ 是两位数" :  "这是" + aInput[0].value.length + "位数");

}

};

</script>

</head>


 <body>

 <input type="text" class="f-text" /><input type="button"     value="是  否为两位数" />    

 </body>

 </html>


胡说叔叔
浏览 488回答 1
1回答

饮歌长啸

[^\d]表示不为数字的字符,其中,\d表示0-9`中的任一数字,[^...]表示对字符集取反因此,this.value.replace(/[^\d]/,"")表示,若字符串的第一个字符是数字,则保留;若不是数字,则删掉例如,2asd、3adf的第一个字符是数字,不会被替换掉;sadf、a123的第一个字符不是数字,会被替换为空字符串"",即把该字符删掉
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript