function EnterCandidates() {
var candidateNameInputs = document.querySelectorAll('input[id^=C]'),
names = document.querySelectorAll('label[for^=V][id^=L_V]');
Array.prototype.forEach.call(names, function(label, index) {
if (candidateNameInputs[index].value !== candidateNameInputs[index].defaultValue) {
label.textContent = candidateNameInputs[index].value;
}
});
}
我有这个代码,它获取用户输入并更改标签,但我想添加一些代码,只允许用户输入字母表的字母。我将如何使用此代码进行此操作?
答案 0 :(得分:2)
如果您使用的是现代浏览器,请使用html5验证 -
<input type="text" name="name" class="field" pattern="[a-zA-Z ]+" />
它接受a-z
和A-Z
加空格
答案 1 :(得分:0)
听取keyDown事件并与此正则表达式匹配:
/[a-zA-Z]+/
如果您只定位现代浏览器,可以试试这个:
<input type="text" pattern="[a-zA-Z]" title="Only letters" />
答案 2 :(得分:0)
var val = document.getElementById('id').value;
if (!val.match(/^[a-zA-Z]+$/))
{
alert('Only alphabets are allowed');
return false;
}
完整脚本
function EnterCandidates() {
console.log('woo');
var candidateNameInputs = document.querySelectorAll('input[id^=C]'),
names = document.querySelectorAll('label[for^=V][id^=L_V]');
Array.prototype.forEach.call(names, function (label, index) {
if (!candidateNameInputs[index].value.match(/^[a-zA-Z]+$/))
{
alert('Only alphabets are allowed');
}
else
{
if (candidateNameInputs[index].value !== candidateNameInputs[index].defaultValue) {
label.textContent = candidateNameInputs[index].value;
}
}
});
}
答案 3 :(得分:0)
您无法避免用户输入非字母字符。但是你可以: - 控制输入字段(onkeydown)并检查是否有一些你不想要的字符Stackoverflow - force input to only alpha-letters - 之前做同样的事情 label.textContent = candidateNameInputs [index] .value; 排除并过滤/替换您不想要的字符
答案 4 :(得分:0)
以下是使用Javascript进行此操作的一种方法。
var input = document.getElementById('alpha');
input.addEventListener('keypress',function(e) {
var str = String.fromCharCode(e.charCode);
if (!(/[A-Z]|\s/i).test(str)) {
e.preventDefault();
}
});