var str=$('#id').val();
成都創(chuàng)新互聯(lián)長(zhǎng)期為1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為鞏義企業(yè)提供專業(yè)的網(wǎng)站制作、成都網(wǎng)站制作,鞏義網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
var re =/[`~!@#$%^*_+{}\/'[\]]/im;
if (re.test(str))
{
alert(存在特殊字符);
}
做項(xiàng)目時(shí)前臺(tái)表單驗(yàn)證用了jquery.validation插件。
發(fā)現(xiàn)在做正則表達(dá)式驗(yàn)證時(shí)沒有參數(shù)設(shè)置可以使用,需要一個(gè)個(gè)添加方法,比較麻煩。
就做了一個(gè)簡(jiǎn)單的分裝,也總結(jié)了一些正則表達(dá)式。
/**
* @anthor ycf
* @date 1017/11/3
*
* 本js是對(duì)jquery.validator的自定義方法的封裝
* 只能用于正則表達(dá)驗(yàn)證
* 頁(yè)面必須調(diào)用jquery.validator.js
* 共兩個(gè)方法
* regular 只添加一個(gè)正則自定義函數(shù)
* regulararr 批量導(dǎo)入,傳入對(duì)象即可。
* 具體信息請(qǐng)看頁(yè)面展示及函數(shù)參數(shù)說明
* 以下是一些常用的正則表達(dá)式。
*/
//用戶名驗(yàn)證
var usernameExp = /^[a-zA-Z0-9_-]{4,16}$/;
//姓名驗(yàn)證
var nameExp = /^[\u4E00-\u9FA5A-Za-z]+$/;
//密碼驗(yàn)證
var pwdExp = /^[0-9a-zA-Z_#!@$%^*]{6,16}$/;
//年齡驗(yàn)證
var ageExp = /^(?:0|[1-9][0-9]?|120)$/;
//郵箱驗(yàn)證
var emailExp = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
//固定電話驗(yàn)證
var telExp = /^0\d{2,3}-\d{7,8}(-\d{1,6})?$/;
//手機(jī)號(hào)碼驗(yàn)證
var phoneExp = /^0?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$/;
//英文名驗(yàn)證
var enameExp = /^[a-zA-Z]+$/;
//郵政編碼驗(yàn)證
var postalcodeExp = /^[0-9][0-9]{5}$/;
//QQ驗(yàn)證
var qqExp = /^\d{5,10}$/;
//非法字符驗(yàn)證
var ffzfExp = /[@#\$%\^\*]+/g;
//IP驗(yàn)證
var ipExp = /((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))/;
//非負(fù)整數(shù)驗(yàn)證
var ffzsExp = /^(0|[1-9]\d*)$/;
//正負(fù)小數(shù)驗(yàn)證
var zfxsExp = /^[+-]?\d*\.\d{1,3}$/;
//正負(fù)整數(shù)和小數(shù)驗(yàn)證
var zfzshxsExp = /^(-)?\d+(\.\d+)?$/;
//身份證號(hào)驗(yàn)證
var idcardExp = /^[1-9][0-9]{5}(19[0-9]{2}|200[0-9]|201[0-9]|202[0-9]|203[0-9])(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])[0-9]{3}[0-9xX]$/i;
//限制輸入
var limitExp = /^((?!test).)*$/; //不能輸入包含test的字符串
/**
* 自定義正則匹配方法
* @param funName 自定義方法名
* @param Exp 正則表達(dá)式
* @anthor ycf
*/
function regular(funName,Exp){
jQuery.validator.addMethod(funName, function(value, element) {
return this.optional(element) || Exp.test(value);
}, "不通過");
}
/**
* 批量添加自定義正則匹配方法
* @param objExp 對(duì)象
* 例如{ "postalcodeCheck":postalcodeExp}
*
* @anthor ycf
*/
function regularArr(objExp){
$.each(objExp, function(i) {
jQuery.validator.addMethod(i, function(value, element) {
return this.optional(element) || objExp[i].test(value);
}, "不通過");
});
}
這樣在前臺(tái)js里只需要申明一個(gè)對(duì)象,并引入這個(gè)js文件就行了。希望能幫到大家。
1、驗(yàn)證漢字不能輸入,輸入后將漢字都替換掉
//中文的正則表達(dá)式/[\u4E00-\u9FA5]/g??將輸入的中文全部替換掉
input?type="text"?id="text"?onkeyup="value=value.replace(/[\u4E00-\u9FA5]/g,'')"?onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\u4E00-\u9FA5]/g,''))"
2、只能輸入英文字母,其他不能輸入,將除了英文字母的字符都替換掉
//非英文字母的正則表達(dá)式/[^A-Za-z]/g
input?onkeyup="value=value.replace(/[^A-Za-z]/g,'')"
// 驗(yàn)證身份證
function isCardNo(card) {
var pattern = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
return pattern.test(card);
}