我需要限制
以外的字符[A-Z, a-z, 0-9, _, @, #]
我需要将其包含在“ onkeypress ”和“ onblur ”中以处理复制/粘贴值。所以,如果上述场景中有任何正则表达式,则Plz会对此进行更新。
到目前为止,我有类似的内容
$(document).on('keypress onblur', "#Login", function () {
var checkString = $("#Login").val();
if (checkString != "") {
if (/[^A-Za-z_@#\d]/.test(checkString)) {
alert("Please enter only letter and numeric characters");
$("#Login").focus();
return false;
}
}
});
上述代码在指定条件下无法正常工作。
答案 0 :(得分:0)
试试这个:
/^([0-9@_#]+|[a-zA-Z@_#]+)$/.test(string)
[0-9@_#]+
会将所有数字与允许的特殊字符匹配
|
或
[a-zA-Z@_#]
会将所有字母与允许的特殊字符匹配。
document.write('<br />/^([0-9@_#]+|[a-zA-Z@_#]+)$/.test("Tushar") = ' + /^([0-9@_#]+|[a-zA-Z@_#]+)$/.test('Tushar')); // True
document.write('<br />/^([0-9@_#]+|[a-zA-Z@_#]+)$/.test("Tushar@#") = ' + /^([0-9@_#]+|[a-zA-Z@_#]+)$/.test('Tushar@#')); // True
document.write('<br />/^([0-9@_#]+|[a-zA-Z@_#]+)$/.test("12345") = ' + /^([0-9@_#]+|[a-zA-Z@_#]+)$/.test('12345')); // True
document.write('<br />/^([0-9@_#]+|[a-zA-Z@_#]+)$/.test("12@#_447") = ' + /^([0-9@_#]+|[a-zA-Z@_#]+)$/.test('12@#_447')); // True
document.write('<br />/^([0-9@_#]+|[a-zA-Z@_#]+)$/.test("tushar1234") = ' + /^([0-9@_#]+|[a-zA-Z@_#]+)$/.test('tushar1234')); // False
document.write('<br />/^([0-9@_#]+|[a-zA-Z@_#]+)$/.test("tushar_1234") = ' + /^([0-9@_#]+|[a-zA-Z@_#]+)$/.test('tushar_1234')); // False
document.write('<br />/^([0-9@_#]+|[a-zA-Z@_#]+)$/.test("tushar@1234") = ' + /^([0-9@_#]+|[a-zA-Z@_#]+)$/.test('tushar@1234')); // False
document.write('<br />/^([0-9@_#]+|[a-zA-Z@_#]+)$/.test("123@tushar") = ' + /^([0-9@_#]+|[a-zA-Z@_#]+)$/.test('123@tushar')); // False
&#13;
答案 1 :(得分:0)
你不能把^放在你的正则表达式中,否则你只会定位以你的模式开头的字符串,而不是那些包含它的字符串。