我的最终目标是验证一个输入字段,这个输入可能是字母或数字。
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。
parseInt('10m') /* 返回 10*/
可以解决问题。否则返回 NaN。如果这种行为对您来说可以接受,考虑使用 parseFloat('2.34million')
,这样您就可以得到 2.34 而不是损失金钱;-) - mixdevfunction hasDigitFind(_str_) {
this._code_ = 10; /*When empty string found*/
var _strArray = [];
if (_str_ !== '' || _str_ !== undefined || _str_ !== null) {
_strArray = _str_.split('');
for(var i = 0; i < _strArray.length; i++) {
if(!isNaN(parseInt(_strArray[i]))) {
this._code_ = -1;
break;
} else {
this._code_ = 1;
}
}
}
return this._code_;
}
我们可以使用!/[^a-zA-Z]/.test(e)
来检查它
只需运行片段并检查即可。
function handleValueChange() {
if (!/[^a-zA-Z]/.test(document.getElementById('textbox_id').value)) {
var x = document.getElementById('result');
x.innerHTML = 'String does not contain number';
} else {
var x = document.getElementById('result');
x.innerHTML = 'String does contains number';
}
}
input {
padding: 5px;
}
<input type="text" id="textbox_id" placeholder="Enter string here..." oninput="handleValueChange()">
<p id="result"></p>
尝试这个方法来检查字符串是否包含数字。
'test123'.split('').reduce((result,ch) => ch.charCodeAt(0) >= 48 && ch.charCodeAt(0) <= 57), false);
没有人回答问题的主体:
我的最终目标是验证一个输入字段。输入可能是字母或数字。
-- op
这里有一个函数,返回一个布尔值答案,如果传递的输入具有数字值或严格的字母字符串值,则为true
,否则为false
:
const isAlphaOrNumeric = input => {
if ('' === input.value.trim())
return false // empty
if (!Number.isNaN(Number(input.value)))
return true //'number'
return /^[a-zA-Z]+$/.test(input.value.trim()) // 'alphabetic'
}
const isAlphaOrNumeric = input => {
if ('' === input.value.trim())
return false
if (!Number.isNaN(Number(input.value)))
return true
return /^[a-zA-Z]+$/.test(input.value.trim())
}
const f = document.querySelector('form')
const test = f.querySelector('[name="test"]')
const test2 = f.querySelector('[name="test2"]')
const test3 = f.querySelector('[name="test3"]')
f.onsubmit = e => {
e.preventDefault()
console.log(test.value, isAlphaOrNumeric(test))
console.log(test2.value, isAlphaOrNumeric(test2))
console.log(test3.value, isAlphaOrNumeric(test3))
}
<form>
<input name="test" value="abc"><br>
<input name="test2" value="-3.14"><br>
<input name="test3" value="AFF4B3"><br>
<button>
check it
</button>
</form>
function checkNumSequnce(arrayNM2) {
inseqCounter=1;
continousSeq = 1;
decsequenceConter = 1;
var isequence = true;
for (i=0;i<arrayNM2.length-1;i++) {
j=i+1;
if (arrayNM2[i] == arrayNM2[i+1]) {
if(inseqCounter > 1 || decsequenceConter > 1){
isequence = false; break;
}
continousSeq++;
}
else if (arrayNM2[j]- arrayNM2[i] == 1) {
if(decsequenceConter > 1 || continousSeq > 1){
isequence = false; break;
}
inseqCounter++;
} else if(arrayNM2[i]- arrayNM2[j] == 1){
if(inseqCounter > 1 || continousSeq > 1){
isequence = false; break;
}
decsequenceConter++;
}else{
isequence= false;
break;
}
};
console.log("isequence: "+ isequence);
};
您也可以尝试使用lodash:
const isNumeric = number =>
_.isFinite(_.parseInt(number)) && !_.isNaN(_.parseInt(number))