用于用户id语法的输入字段的正则表达式

时间:2018-04-25 20:19:52

标签: javascript jquery html regex

我在注册屏幕上有一个输入字段,用户必须输入他的用户ID,通常为6个字符。前2个字符始终是字母,后面的字符大多是数字。 (例如,ab123c或xy5678)

我如何使用jquery / javascript检查输入字段,用户只能在提交之前以上述格式输入。

<input type="text" maxlength="6" name="uid" id="uid" placeholder="enter user id here">

3 个答案:

答案 0 :(得分:4)

您可以使用正则表达式验证输入

regex = /^[a-z]{2}[a-z0-9]{4}$/i ;

regex = /^[a-z]{2}[a-z0-9]{4}$/i ;

console.log('ab1234', regex.test('ab1234'));
console.log('abc234', regex.test('abc234'));
console.log('ab1d34', regex.test('ab1d34'));
console.log('ab12e4', regex.test('ab12e4'));
console.log('ab12yz', regex.test('ab12yz'));
console.log('2b1234', regex.test('2b1234'));
console.log('a11234', regex.test('a11234'));

答案 1 :(得分:2)

您不需要javascript或jquery。可以使用HTML。 w3c School

<input type="text" maxlength="6" name="uid" id="uid" placeholder="enter user id here" pattern="[a-zA-z]{2}[a-zA-Z0-9]{4}">

感谢Barmar的更新,之前没有使用它。

更新

首先我不知道为什么关闭。问题不在于学习正则表达式,而在于实现。如果你想使用jQuery,Aurelien提供正确的答案,如果你不想使用jQuery或javascript,我的是。 Zohaib ljaz没有解决实施的核心问题。

第二:大多数评论没有帮助,他确实提供了示例,并且代码中有最大长度,所以当然6是最大值。

答案 2 :(得分:1)

试试这个

$('form').on('submit', function(e){
    e.preventDefault();
    if($('#uid').val().match(/^[a-zA-Z]{2}[a-zA-Z0-9]{4}$/)){
        $(this).submit()
    }
    else {
     //Do your error logic here
    }
}