我使用以下代码检查用户输入是否为小写。我将允许a
到z
的字符。不允许其他角色。
JavaScript文件:
var pat = /[a-z]/;
function checkname()
{
var t = $("input[name='user_name']").val();
if(pat.test(t) == false)
{
alert('Only lowercase characters allowed');
}
}
//... other functions
但是这个donot一直在工作。如果我输入industrialS
,则不会找到该资本'S'。
我也尝试过:/^[a-z]$/
和/[a-z]+/
。但是没有工作。
请帮助我。
答案 0 :(得分:7)
您的正则表达式只是检查字符串是否包含任何小写字符。试试这个:
var pat = /^[a-z]+$/;
该模式仅匹配具有一个或多个小写字母字符的字符串,而不匹配其他字符。开头的“^”和结尾的“$”是与测试字符串的开头和结尾匹配的锚点。
答案 1 :(得分:0)
if((/[a-z]/.test(email))==true){//allow the small characters}

答案 2 :(得分:-1)
你的正则表达式应该是:/ ^ [a-z] + $ /
答案 3 :(得分:-1)
既然你想要的只是小写字母,而不是仅告诉用户他/她做错了什么,我会解决它:
function checkname() {
var disallowed = /[^a-z]/gi; // g=global , i=case-insensitive
if (this.value == disallowed) {
//delete disallowed characters
this.value = this.value.replace(disallowed,'');
alert('Only lowercase letters allowed');
//instead of an alert, i would use a less intrusive fadeIn() message
}
this.value = this.value.toLowerCase();
}