我需要验证一个文本框,我用它来搜索来自数据库的内容。需要在开始时限制特殊字符,但允许在单词和空格之后。
Ex:必须允许
java/j2ee
java&servlets
但不是
@java
$java
(space)java
$("#keyvalue").keypress(function (e) {
var regex = new RegExp("^[a-z0-9][a-z0-9_ .-]*$");
var regex1 =new RegExp("[,%_$]");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)){
$("#errormess").html("Please select valid input").show();
}
if(regex1.test(key)) {
e.preventDefault();
} else {
$("#errormess").html("");
}
});
答案 0 :(得分:0)
尝试这样的事情
function isValid(){
return !/[@$\s\/&]/g.test(yourString.indexOf(0));
// Returns true if special char not exists at first position
}
您可以在[@$\s\/&]
答案 1 :(得分:0)
检查此代码段
var textbox = document.getElementById('textbox');
var pattern = /^([a-zA-Z0-9]+)([a-zA-Z0-9!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?\s]+)$/;
if(!pattern.test(textbox.value)){
console.log('Not allowed!');
}
或者这个,具有不太复杂的正则表达式
var textbox = document.getElementById('textbox');
var pattern = /^([a-zA-Z0-9].*)$/;
if(!pattern.test(textbox.value)){
console.log('Not allowed!');
}