JavaScript -仅验证数字/字母
JavaScript - validating for only numeric/alphabet
我知道有很多类似的主题线,所以我将直接澄清我的问题。有一个简单的形式,我正在验证,其中测试的空字段运行完美,并遵循各种其他论坛帖子后,已经尝试实现测试的数字或字母输入,但功能根本不会起作用。
下面是NotEmpty函数的一个片段: function validateNotEmpty( input, id )
{
var errorDisplay = document.getElementById( id );
var notEmpty;
if ( input == "" ) // check if input is empty
{
errorDisplay.innerHTML = "This is a requiered field";
notEmpty = false; // update return value
} // end if
else
{
errorDisplay.innerHTML = ""; // clear the error area
notEmpty = true; // update return value
} // end else
return notEmpty; // return whether the input is empty
}// end function validateNotEmpty
以下是我的两个(不工作的数字/字母测试器):
function validateNotNumber(input, id)
{
var errorDisplay = document.getElementById( id );
var notNumber;
for (var i=0;i<input.value.length;i++){
temp=input.value.substring(i,i+1);
console.log(temp);
if (digits.indexOf(temp)==-1){
errorDisplay.innerHTML = "Sorry, this section can not have numbers";
notNumber = false;
}
else
{
errorDisplay.innerHTML = ""; // clear the error area
notEmpty = true; // update return value
} // end else
}
return notNumber;
}
function validateNotLetter(input, id)
{
var errorDisplay = document.getElementById( id );
var notLetter;
for (var i=0;i<input.value.length;i++){
temp=input.value.substring(i,i+1);
console.log(temp);
if (alphabets.indexOf(temp)==-1){
errorDisplay.innerHTML = "Sorry, this section can not have letter";
notLetter = false;
}
else
{
errorDisplay.innerHTML = ""; // clear the error area
notLetter = true; // update return value
} // end else
}
return notLetter;
}
在此之上,这就是我如何从我的表单调用javascript函数:
<td width="135" valign="top">
<input size="15" type="text" name="Full_Name" value="" onblur = "validateNotNumber( this.value, 'nameError' )"/>
<p> <span id = "nameError" class = "errorMessage"></span> </p>
</td>
谢谢你的帮助/指点,我对JavaScript还是很陌生的,所以我的头围绕着验证已经相当复杂了
小提琴帮你开始。
我更新了它,基本上做你想做的,但使用正则表达式来检测数字,字母等。
其中一个的样本:
function validateNotLetter(input, id) {
var errorDisplay = document.getElementById(id);
var value = input || '';
var letterRegex = /'D+/i;
var hasALetter = letterRegex.test(value);
if(hasALetter){
errorDisplay.innerHTML = "Sorry, this section can not have letter";;
}else{
errorDisplay.innerHTML = "";
}
return notLetter;
}
正则表达式是强大的。在线资源:
https://regex101.com/-测试正则表达式
的地方https://regexone.com/-学习的地方
这种方式太复杂了。你绝对应该尝试一些正则表达式,例如
var alphanumeric = "someStringHere";
var myRegEx = /[^a-z'd]/i;
var isValid = !(myRegEx.test(alphanumeric));
console.log(isValid);
或函数:
function isValid(str) {
var myRegEx = /[^a-z'd]/i;
return !(myRegEx.test(str));
}
相关文章:
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- Angular js+ng repeat+字母数字索引不起作用
- 使用正则表达式匹配长度为六个字符的字母数字字符串
- 为什么这个正则表达式不't匹配最后一个字母数字字符
- Javascript Regex选择每个非字母数字字符和空白
- Javascript-Regex,用于逗号分隔的字母数字
- JavaScript正则表达式(带_-的字母数字字符)
- 在JavaScript中,增加字母数字字符串末尾的数字
- 正则表达式允许字母数字和空格,但不允许连续两个空格
- REGEX (javascript) - 允许字母数字字符中的特殊字符不在第一个位置
- Javascript 正则表达式匹配字母数字,其中数字不限于一位数
- 如何对字母数字字符串值进行排序
- 如何将以下函数更改为字母数字输出
- JavaScript 中的字母数字电子邮件验证
- Regex用于字母数字字符串中的数字计数
- 在另一个由非字母数字字符分隔的字符串中搜索(任何)字符串
- Regex:只有字母数字,但如果这是纯数字,则不能
- 如何验证字符串和字母数字值
- 用于验证 JavaScript 中的字母数字值的正则表达式