複製代碼 代碼如下:
//匹配中文 數字 字母 底線
var checkInput = function (str) {
var pattern =var pattern = /^[\w\u4e00-\u9fa5]+$/gi;
if(pattern.test(c))
{
return false;
}
return true;
}
1.js中用Regex 過濾特殊字元, 校正所有輸入欄位是否含有特殊符號
複製代碼 代碼如下:
function stripscript(s) {
var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]")
var rs = "";
for (var i = 0; i < s.length; i++) {
rs = rs + s.substr(i, 1).replace(pattern, '');
}
return rs;
}
2.校正所有輸入欄位是否含有特殊符號
複製代碼 代碼如下:
/**
* 校正所有輸入欄位是否含有特殊符號
* 所要過濾的符號寫入Regex中,注意,一些符號要用'\'轉義.
* 試例:
* if(checkAllTextValid(document.forms[0]))
* alert("表單中所有文字框通過校正!");
*/
function checkAllTextValid(form) {
//記錄不含引號的文字框數量
var resultTag = 0;
//記錄所有text文字框數量
var flag = 0;
for (var i = 0; i < form.elements.length; i++) {
if (form.elements[i].type == "text") {
flag = flag + 1;
//此處填寫所要過濾的特殊符號
//注意:修改####處的字元,其它部分不許修改.
//if(/^[^####]*$/.test(form.elements[i].value))
if (/^[^\|"'<>]*$/.test(form.elements[i].value))
resultTag = resultTag + 1;
else
form.elements[i].select();
}
}
/**
* 如果含引號的文字框等於全部文字框的值,則校正通過
*/
if (resultTag == flag)
return true;
else {
alert("文字框中不能含有\n\n 1 單引號: ' \n 2 雙引號: \" \n 3 豎 杠: | \n 4 尖角號: < > \n\n請檢查輸入!");
return false;
}
}