javascript - 关于正则表达式的问题

查看:111
本文介绍了javascript - 关于正则表达式的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

<!DOCTYPE html>
 <html lang="en">
 <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>

1.this.value = this.value.replace(/1/,"")中的表示的是什么呢?


  1. d

解决方案

[^\d]表示不为数字的字符,其中,\d表示0-9`中的任一数字,[^...]表示对字符集取反

因此,this.value.replace(/[^\d]/,"")表示,若字符串的第一个字符是数字,则保留;若不是数字,则删掉

例如,
2asd3adf的第一个字符是数字,不会被替换掉;
sadfa123的第一个字符不是数字,会被替换为空字符串"",即把该字符删掉

这篇关于javascript - 关于正则表达式的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆