我一直在互联网上寻找,但无法找到解决问题的正确方法。
我有两个使用输入。一个是年龄。另一个是姓名。
年龄必须是一个数字。名称必须是单词,仅包含字符。
if(age==number $$ name == characters){
// do something
}else{
// do something else
}
我试过了:
if(Math.floor(num) == num $$ Math.floor(name) != name){
// do something
}else{
// do something else
}
但是没有运气。
如果您知道怎么做,可以告诉我。非常感谢。
答案 0 :(得分:2)
正则表达式解决方案可能是最简单的,因为无论如何你的输入都是字符串。
试试这个:
if (/^\d+$/.test(age) && /^\D+$/.test(name)) {...}
与上面发布的内容的主要区别在于^
和$
;这些将确保字符串只包含 指定的字符,而不是包含至少一个字符。
答案 1 :(得分:1)
你可以这样做
if (+age==age && name!=+name) {
检查两个条件是否已经过验证:
但是很难为名称定义严格的规则。这是我所在国家/地区的名称:"Dupé d'Egïe"
假设你只想接受名字“来自a-z和空格的信件”(这可能是一个坏主意),那么你可以做
if (+age==age && /^[a-z ]+$/.test(name)) {
要测试年龄是否仅包含数字且名称不包含数字,您可以
if (/^\d+$/.test(age) && /^\D+$/.test(name)) {
答案 2 :(得分:0)
你可以使用javascript函数parseInt(value),如果结果是NaN,那么它不是数字
if(parseInt("54")) {
console.log("It's a number");
} else {
console.log("It's not");
}