我有一个包含电话号码字段的表单
<input name="phNumber" type="text" class="numbersonly"/>
使用js我只能允许数字,但是,我想从鼠标中重新粘贴值...
{注意:此字段中无需验证}
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以回复change
事件,删除任何非数字。
$("input.numbersonly").change(function() {
this.value = this.value.replace(/\D/g, "");
});
使用正则表达式(/\D/g
)来匹配所有非数字,并用替换字符串替换它们(在这种情况下,没有 - ""
)。 \D
部分是“非数字”部分,g
是表示“全局”的标志(整个字符串)。
偏离主题:我真的,真的不会禁止电话号码字段中的所有非数字。人们习惯于用空格,连字符,或许括号来写电话号码,甚至可能是加号(例如+1 (408) 123-4567
)。如果删除这些提示,电话号码可能非常难以阅读(因此要正确键入)。您确实希望用户正确输入数字,对吗?在这种情况下,我会保持验证非常开放。