2013-07-31 31 views
-2

我是JavaScript新手。我创建了一个向数据库提交详细信息的表单。我有不同的文本框,有些需要接受只有字母和一些只允许数字。只允许使用JavaScript编码文本框

我在做一些研究时得到了这段代码,但是这段代码告诉我一个无效模式。 你能帮助我,让这段代码将允许只有字母。我试图修改代码,以便它只需要字母,但我失败了。

function f_check_Lett(form){ //Only letters and numbers allowed 

    var text = form.bucketname.value; 
    alert(text); 

    var filter = /^[A-Za-z0-9]+$/; 
    if (filter.test(text)) { 
     form.submit(); 
    } else { 
     form.bucketname.select(); 
     alert("Only Allow letters and numbers!"); 
    } 
} 

+4

获取一本好的JavaScript书或找到一个好的教程。如果你想用JavaScript做任何事情,你必须能够解决简单的任务,并且你应该能够在最多十分钟内从头开始编写它。 – Doorknob

+0

你在正则表达式中有0-9,它也会允许数字。 –

+1

请告诉我你也在服务器端进行验证,而不是直接将文本输入到数据库中? – slugster

回答

3

使用过滤器

var filter = /^[A-Za-z]+$/; 

在您的过滤器[A-Za-z0-9]将接受任何字符: 'A' 到 'Z', 'a' 到 'Z' ,'0'到'9'

因为您只需要字母,请从过滤器中删除0-9

+0

嗨Damith,当我尝试只插入字母时,它突出显示文本框并显示“请匹配请求的格式” –

0

试试这个:

var filter = /^[a-zA-Z]+$/.test('sfjd') 

你应该肯定会给jQuery Validate Plugin一个尝试,虽然。我在我的许多项目中使用过它,它很容易实现。

祝你好运!

+0

即使这是正确的,这也是一个不好的答案。花一些时间来解释它!一旦有了,我会放弃我的投票。并且请不要只提交一个快速和肮脏的答案,然后使用5分钟的宽限期来塑造本应该是什么,你只会造成FGITW问题。 – slugster

+0

@slugster这是一个不好的答案? – karlingen

+2

因为你最初有一行代码和文本“祝你好运!”。这是一个不好的答案。 – slugster

0
// Only letters and numbers allowed 
function f_check_Lett(form) { 

    var text = form.bucketname.value; 
    var check_format = isNaN(text); 
    if (check_format == "false") { 
     // your code go here 
    } else { 
     // your code go here 
    } 
} 
+0

false是布尔值,而不是字符串。 –

+0

这只允许字母吗? –

相关问题