我的意思是如果输入数字,它一定会抛出一个错误
最佳答案
如果您想排除数字,只需将它们替换为正则表达式以防止输入它们即可。您可以告诉用户他们也不能输入数字。
//collect the string
var userStr = getTheString();//whatever the source of the string is... probably called onKeyUp
if(userStr.match(/\d/)){
userStr = userStr.replace(/\d+/g,"");//[edited to include all digits]
alert("no numbers please");
}
[编辑] 这听起来像是一项家庭作业,所以需要明确的是,正则表达式是进行各种字符串操作和验证的一种非常强大的方法。在上面的示例中,我正在测试(使用匹配)以查看字符串中是否存在任何数字。我建议在用户从键盘上抬起手指时运行它,这样可以保证防止未经授权的输入。 replace() 方法找出字符串中的所有数字 (\d+) 并用第二个参数替换它们,第二个参数只是一个空字符串。你显然可以用更复杂的方式来完成这一切,使用循环和你自己的字符串方法,逐个字母地遍历字符串,然后提取数字字符,如果你的老师希望看到你在没有正则表达式的情况下解决这个问题(这是完全合理的,对于必须学习算法思维的初学者程序员)那么你应该这么说,我们很乐意帮助你以“丑陋”的方式做到这一点。
干杯。
关于javascript - 我们怎样才能得到一个javascript程序来防止数字输入呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7480241/