为了账号安全,请及时绑定邮箱和手机立即绑定

关于正则表达式的问题

关于正则表达式的问题

胡说叔叔 2018-11-14 15:14:01
<!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>
查看完整描述

1 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

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

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

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


查看完整回答
反对 回复 2018-12-17
  • 1 回答
  • 0 关注
  • 487 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号