我希望Name字段只包含文本。
<html>
<head></head>
<body>
<form name="form1">
Name <input type="text" name="fname">
<input type="submit" value="Submit">
</form>
</body>
</html>
任何人都可以告诉我如何使用HTML或Javascript这样做。
答案 0 :(得分:1)
在您的Javascript中使用此正则表达式:/^[a-z]+$/i
使用Javascript:
var submit = document.getElementById("submit");
submit.addEventListener("click", checkInput, false);
function checkInput(e){
e.preventDefault();
var pattern = /^[a-z]+$/i;
alert(pattern.test(document.getElementById('text').value));
}
答案 1 :(得分:0)
您可以在删除字母字符后测试是否还有“遗留任何内容”。
<html>
<body>
<form name="form1" onsubmit="return checkform();">
Name<input type="text" name="fname" id="fname">
<input type="submit" value="Submit">
</form>
<script>
function checkform(){
var fname=document.getElementById('fname').value;
if (fname.replace(/\w/g,'')!=''||fname==''){
alert('invalid firstname!');
return false;
}
return true;
}
</script>
</body>
</html>
答案 2 :(得分:0)
试试这个:
<script type="text/javascript">
function validate(){
var allowedChars="abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var n=form1.fname.value;
for(var i=0;i<n.length;i++){
if(allowedChars.indexOf(n.charAt(i))==-1){
return false; // contains other char
}
}
return true; //valid name
}
答案 3 :(得分:0)
尝试像
这样的正则表达式 var match_text = /[a-zA-Z]/;
答案 4 :(得分:0)
试试这个var regx = /^[A-Za-z][-a-zA-Z ]+$/;
function validate_form();
{
var regx = /^[A-Za-z][-a-zA-Z ]+$/;
var fname = document.getElementById('fname').value;
if(fname=="")
{
alert("Name is Blank");
return false;
}
else if(!regx.test(fname))
{
alert("name must contains character only");
return false;
}
else
{
return true;
}
}
答案 5 :(得分:0)
文本框的模式检查必须使用Javascript或Jquery完成,就像在其他答案中一样但如果你想使用HTML5,你可以直接写:
<input type="text" name="fname" id="fname" pattern="[A-Za-z]+" />
(如果您有兴趣,请参阅HTML5中的'pattern'属性。)
答案 6 :(得分:0)
您可以调用此函数来验证仅包含文本的输入字段 -
function validate()
{
str = document.form1.fname.value;
var patt = new RegExp("^[a-zA-Z ]*$");
var res = patt.test(str);
if(!res)
{
alert("do not match!");
return false;
}
}