<!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>
Que signifie le "" dans 1.this.value = this.value.replace(/1/,"") ?
[^d]
表示不为数字的字符,其中,d
表示0-9
`中的任一数字,[^...]
signifie annuler le jeu de caractèresPar conséquent,
this.value.replace(/[^d]/,"")
signifie que si le premier caractère de la chaîne est un nombre, conservez-le ; si ce n'est pas un nombre, supprimez-lePar exemple, le premier caractère de
2asd
,3adf
est un nombre et ne sera pas remplacé ;2asd
、3adf
的第一个字符是数字,不会被替换掉;sadf
、a123
sadf
,a123 n'est pas un nombre et sera remplacé par une chaîne vide "", c'est-à-dire que le caractère sera supprimé
""
就是空的意思.replace为替换;[^d]
表示非数字(^
表示非,不是的意思;d
représente des nombres)signifie que lorsque vous saisissez (à chaque fois que vous appuyez sur le clavier), un événement clavier sera déclenché si ce que vous saisissez n'est pas un nombre (
[^d]
表示非数字,所以通过[^d]
来判断是不是数字)就替换(.replace为替换的意思)为空(""
), si ce que vous saisissez n'est pas un nombre, il sera immédiatement remplacé et le sera. ne soit pas affiché.