我的最终目标是验证输入字段。输入可以是字母也可以是数字。
当前回答
你可以使用javascript来做到这一点。不需要Jquery或Regex
function isNumeric(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
而实现
var val = $('yourinputelement').val();
if(isNumeric(val)) { alert('number'); }
else { alert('not number'); }
更新:要检查字符串中是否有数字,可以使用正则表达式来检查
var matches = val.match(/\d+/g);
if (matches != null) {
alert('number');
}
其他回答
你也可以试试lodash:
const isNumeric = number =>
_.isFinite(_.parseInt(number)) && !_.isNaN(_.parseInt(number))
如果我没记错的话,这个问题需要“contains number”,而不是“is number”。所以:
function hasNumber(myString) {
return /\d/.test(myString);
}
当字符串以整数的表示形式开始时,parseInt提供整数:
(parseInt '1a') is 1
..所以也许:
isInteger = (s)->
s is (parseInt s).toString() and s isnt 'NaN'
(isInteger 'a') is false
(isInteger '1a') is false
(isInteger 'NaN') is false
(isInteger '-42') is true
原谅我的CoffeeScript。
要测试任何字符是否为数字,无需过度修饰❓,可根据需要进行调整。
const s = "EMA618" 函数hasInt(我){ 设I = 1,a = me.split(""),b = "",c = ""; a.forEach(函数(e) { 如果(! isNaN (e)) { console.log(' contains NUMBER«${e}»AT POSITION ${a.indexOf(e)} => TOTAL COUNT ${i} ') C += e 我+ + } else {b += e} }) console.log('字符串是«${b}»,数字是«${c}»') If (i === 0){ 返回假 //返回b }其他{ 还真 //返回+c } } hasInt (s)
你可以使用javascript来做到这一点。不需要Jquery或Regex
function isNumeric(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
而实现
var val = $('yourinputelement').val();
if(isNumeric(val)) { alert('number'); }
else { alert('not number'); }
更新:要检查字符串中是否有数字,可以使用正则表达式来检查
var matches = val.match(/\d+/g);
if (matches != null) {
alert('number');
}
推荐文章
- 如何使用Jest测试对象键和值是否相等?
- 将长模板文字行换行为多行,而无需在字符串中创建新行
- 如何在JavaScript中映射/减少/过滤一个集?
- Bower: ENOGIT Git未安装或不在PATH中
- 是否有可能更新一个本地化的故事板的字符串?
- 为什么字符串类型的默认值是null而不是空字符串?
- 添加javascript选项选择
- 在Node.js中克隆对象
- 在Python中包装长行
- 为什么在JavaScript的Date构造函数中month参数的范围从0到11 ?
- 使用JavaScript更改URL参数并指定默认值
- jQuery:什么是限制“数字”仅输入文本框的最佳方法?(允许使用小数点)
- 在window.setTimeout()发生之前取消/终止
- 如何删除未定义和空值从一个对象使用lodash?
- 如何在AngularJS中有条件地要求表单输入?