当用户使用jQuery和regex输入除数字以外的任何内容时,我试图显示错误消息.我该怎么做呢?
if( $(this).val().match(/^[0-9]$/) ){
alert("Wrong input. Only numbers allowed");
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用,!但它没有工作,我没有收到任何错误消息
if( $(this).val().match(/![0-9]/) ){
alert("Wrong input. Only numbers allowed");
}
Run Code Online (Sandbox Code Playgroud)
像这样做 :
if( /\D/.test($(this).val()) ){
alert("Wrong input. Only numbers allowed");
}
Run Code Online (Sandbox Code Playgroud)
\D是任何不是数字的字符(\d是数字).
match当你想测试一个字符串是否匹配一个模式时,不要使用它:它构建一个无用的数组.你需要的是什么test.
现在,让我们假设您想测试用户是否输入了数字,而不仅仅是一系列数字.一个数字可以写成符号,指数,点等.测试的正确方法是不使用正则表达式:
var s = $(this).val();
if (s != +s) {
alert("Wrong input. Only numbers allowed");
}
Run Code Online (Sandbox Code Playgroud)
+s如果不可能s,NaN则转换为数字.
| 归档时间: |
|
| 查看次数: |
50 次 |
| 最近记录: |