2014-01-24 73 views
1

如何限制文本字段中的特殊字符? 特殊字符是一个变量使用jQuery限制特殊字符

sample="`[email protected]#$%^&*()" 

该采样变量值分配应与第一个名字和姓氏

HTML代码进行检查

<input type="text" name="Firstname" value="Firstname" id="firstname"> 

jQuery的

  if(!sample.test($("#firstname").val())){ 
       alert("Nickname can have only alphabets and numbers."); 
      } 

回答

1

试试这个:

function isValid(str){ 
return !/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g.test(str); 
} 

if(!isValid($("#firstname").val())){ 
      alert("Nickname can have only alphabets and numbers."); 
     } 

OR

if(/^[a-zA-Z0-9- ]*$/.test($("#firstname").val()) == false) { 
alert("Nickname can have only alphabets and numbers."); 
} 

上面将只允许串完全由上范围A-Z,A-Z,数字0-9,再加上连字符的空格字符的字符。包含任何其他字符的字符串将导致alert

0

试试这个,

var alphanumers = /^[a-zA-Z0-9]+$/; 
if(!alphanumers.test($("#firstname").val())){ 
    alert("Nickname can have only alphabets and numbers."); 
} 

演示:http://jsfiddle.net/Z3VVU/

+0

这样的变量是值在很多地方使用全局变量。使用该变量只有我必须检查名字 – Bhargavi

0

无特殊字符的正则表达式:/^\s*[a-zA-Z0-9,\s]+\s*$/

DEMO

$(document).ready(function() { 
    var charReg = /^\s*[a-zA-Z0-9,\s]+\s*$/; 
    $('.keyup-char').keyup(function() { 
     $('span.error-keyup-1').hide(); 
     var inputVal = $(this).val(); 

     if (!charReg.test(inputVal)) { 
      $(this).parent().find(".warning").show(); 
     } else { 
      $(this).parent().find(".warning").hide(); 
     } 

    }); 
}); 
+0

我的要求是这个变量样本也用于cfm文件。所以如果我们赋值如“/^\ s * [a-zA-Z0-9,\ s] + \ s * $ /”,这意味着它会通过其余cfm页面的错误。 – Bhargavi

0

对于输入键入y您可以同时使用(也将从复制粘贴保护):

jQuery(document).ready(function() { 
 
    jQuery("#name_name").keyup(function(event) { 
 
    name=jQuery("#input_name").val(); 
 
    name=name.replace(/[^a-zA-Z 0-9.]+/g, ''); 
 
    jQuery("#name_name").val(name); 
 
    } 
 
); 
 
} 
 
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="textbox" id="name_name">

0

试试这个tecnique。它用来防止/限制,而不是验证

你必须通过正则表达式中的“字符” ATTR即:<input type="text" name="phone" chars="0-9" />

这也干净粘贴的数据(CTRL + V或右键单击并粘贴)

$(document).on('keyup blur change input', '[chars]', function (event) { 

    /* RegEx Examples: 
     - email: "[email protected]_\-" 
     - numbers only: "0-9" 
     - letters only: "a-zA-Z" 

     Usage Example: 
     <input type="text" name="email" chars="[email protected]_\-" /> 
     */ 
       var $elem = $(this), 
        value = $elem.val(), 
      regReplace, 
      filter = $elem.attr('chars'); 

    regReplace = new RegExp('[^' + filter + ']', 'ig'); 
       $elem.val(value.replace(regReplace, '')); 

}); 

见现场演示

http://jsfiddle.net/tianes/67e7xhya/light/

0
function allowCharacters(evt, strAllowedChars) { 
// eg. allowCharacters('0-9|-|,|(|)') Will allow 0 to 9, -,()| 
var charCode = (evt.which) ? evt.which : event.keyCode 
var keycodeval = ""; 
var finalkeycode = ""; 
if (strAllowedChars != "" || strAllowedChars != null || strAllowedChars.indexOf("|") != -1) { 
    XstrAllowedChars = strAllowedChars.split("|"); 
    for (strcount = 0; strcount <= XstrAllowedChars.length - 1 ; strcount++) { 
     if (XstrAllowedChars[strcount].search("-") != -1) { 
      substr = XstrAllowedChars[strcount].split("-"); 
      if (substr[0] != substr[1]) { 
       if (substr[0].charCodeAt(0) <= substr[1].charCodeAt(0)) { 
        codeval = "(charCode >= " + substr[0].charCodeAt(0) + " && " + "charCode <= " + substr[1].charCodeAt(0) + ")"; 
        keycodeval = keycodeval + "||" + codeval; 
       } 
       else { 
        codeval = "(charCode <=" + substr[0].charCodeAt(0) + " && " + "charCode >= " + substr[1].charCodeAt(0) + ")"; 
        keycodeval = keycodeval + "||" + codeval; 
       } 
      } 
      else if (substr[0] == "" && substr[1] == "") { 
       keycodeval = keycodeval + "|| " + " charCode == 45 " + " || " + " charCode == 32"; 
      } 
     } 
     else { 
      codeval = "(charCode == " + XstrAllowedChars[strcount].charCodeAt(0) + ")"; 
      keycodeval = keycodeval + "||" + codeval; 
     } 
    } 
} 
newval = keycodeval.slice(2, keycodeval.length); 
var retrunflag = false; 
if (eval(newval)) { 
    //var charCode1 = (evt.which) ? evt.which : event.keyCode  
    if (event.keyCode != 60 && event.keyCode != 62 && event.keyCode != 94 && event.keyCode != 38) { 
     retrunflag = true; //event.keyCode = event.keyCode; 
    } 
    else 
     retrunflag = false; //event.keyCode = 0; 
} 
else { 
    retrunflag = false; //event.keyCode = 0 ; 
} 
//alert(retrunflag); 
return retrunflag;} 

OR

function funRestrictSpecialChar(Obj, evt) { 
var inputVal = $("#" + Obj.id).val(); 
re = /[`[email protected]#$%^&*()_|+\-=?;:'"<>\{\}\[\]\\\/]/gi; 
var isSplChar = re.test(inputVal); 
if (isSplChar) { 
    var no_spl_char = inputVal.replace(/[`[email protected]#$%^&*()_|+\-=?;:'"<>\{\}\[\]\\\/]/gi, ''); 
    $("#" + Obj.id).val(no_spl_char); 
} } 
+0

示例: RandyMohan