功能丰富 输入验证和掩码插件 InnerFormValidation

  • 源码大小:16.31KB
  • 所需积分:1积分
  • 源码编号:19JP-3297
  • 浏览次数:720次
  • 最后更新:2023年05月28日
  • 所属栏目:表单
我要下载
加入收藏
本站默认解压密码:19jp.com 或 19jp_com

简介

一个简单而强大的jQuery表单增强插件,使用户可以仅使用CSS类和HTML数据属性创建具有实时值验证的屏蔽输入字段。

参见:

  • JavaScript中的10个最佳输入掩码插件
  • 10个最佳表单验证JavaScript插件

如何使用它:

1.加载内部表单验证.js在jQuery库之后编写脚本,我们就可以开始了。

  1. <script src="/path/to/cdn/jquery.min.js"></script>
  2. <script src="/path/to/InnerFormValidation.js"></script>

2.使用以下CSS类将掩码和验证规则添加到表单字段:

  • obg或req:必填字段
  • 面具:在输入字段中添加了内置掩码规则
  • 字母数字或字母数字:仅限字母数字字符(Aa到Zz,0到9)
  • num或数字:仅限数值(0到9)
  • 失语症:仅字母字符(Aa到Zz)
  • 上部:仅大写字符
  • 更低:仅小写字符
  • 最小数值:最小值
  • 最大数值:最大值
  • len数值:精确值
  • 日期或数据:有效日期(dd/MM/yyyy格式)
  • 日期时间:有效日期和时间,格式为dd/MM/yyyy hh:MM:ss
  • 日期时间表:有效日期和时间,格式为dd/MM/yyyy hh:MM
  • 月-年:有效日期(MM/yy格式)
  • 时间:有效时间(hh:mm:ss格式)
  • 分时度假:有效时间(hh:mm格式)
  • 最小数值:年龄大于dd/MM/yyyy格式的值
  • 最大数值:年龄小于dd/MM/yyyy格式的值
  • 年龄数值:以dd/MM/yyyy格式表示的确切年龄
  • 邮件或电子邮件:有效的电子邮件地址
  • 中央处理器:有效的巴西中央公积金
  • cnpj公司:有效的巴西CNPJ
  • cpfcnpj:有效的巴西CPF或CNPJ
  • cep值:有效的巴西邮政编码
  • eq选择器:相等选择器(例如:eq#user_email)
  • eqv值:相等值(例如:eqv 20)
  • 包含值:必须包含一个值(例如:包含测试)
  • 电话:电话号码
  • 链接或网址:验证链接或url
  • 密码:验证密码强度
  • 强烈:需要4个标准中的4个
  • 介质:需要4个标准中的3个
  • 数字值:需要4个标准的数值
  • 信用卡或借记卡:有效信用卡号(visa,万事达卡,食客,amex,discover,hiper,elo,jcb,aura,maestro,laser,blanche,switch,korean,union,solo,insta,bcglobal,卢比)
  • 数字值之后:大于numericvalue的数字
  • 数字值之前:小于numericvalue的数字
  • numericvalue1到numericvalue2:numericvalue1和numericvalue2之间的数字
  • 日期之后:日期之后
  • 日期之前:日期之前
  • 日期1至日期2:日期介于日期1和日期2之间
  • 包含字符串:必须包含字符串
  • containschar字符串:必须包含字符
  • containsanychar字符串:必须包含指定的字符之一
  • 不包含字符字符串:不得包含这些字符串
  1. <form action="javascript:void(0)" class="validate">
  2. <div class="row">
  3. <div class="col-md-6">
  4. <div class="form-group">
  5. <label>No spaces (with mask)</label>
  6. <input type='text' placeholder="Text" class='mask nospace' />
  7. </div>
  8. </div>
  9. <div class="col-md-6">
  10. <div class="form-group">
  11. <label>Alphanumeric (A-Z, 0-9)</label>
  12. <input type='text' placeholder="Text" class='alphanumeric' />
  13. </div>
  14. </div>
  15. <div class="col-md-6">
  16. <div class="form-group">
  17. <label>Alphabetical (A-Z)</label>
  18. <input type='text' placeholder="Text" class='alpha' />
  19. </div>
  20. </div>
  21. <div class="col-md-6">
  22. <div class="form-group">
  23. <label>Lowercase only</label>
  24. <input type='text' placeholder="Text" class='lower' />
  25. </div>
  26. </div>
  27. <div class="col-md-6">
  28. <div class="form-group">
  29. <label>Lowercase only (with mask)</label>
  30. <input type='text' placeholder="Text" class='mask lower' />
  31. </div>
  32. </div>
  33. <div class="col-md-6">
  34. <div class="form-group">
  35. <label>Uppercase only</label>
  36. <input type='text' placeholder="Text" class='upper' />
  37. </div>
  38. </div>
  39. <div class="col-md-6">
  40. <div class="form-group">
  41. <label>Uppercase only (with mask)</label>
  42. <input type='text' placeholder="Text" class='mask upper' />
  43. </div>
  44. </div>
  45. <div class="col-md-6">
  46. <div class="form-group">
  47. <label>Required field</label>
  48. <input type='text' placeholder="Required Field" class='obg' />
  49. </div>
  50. </div>
  51. <div class="col-md-6">
  52. <div class="form-group">
  53. <label>Field with at least 4 characters</label>
  54. <input type='text' placeholder="" class='minlen 4' />
  55. </div>
  56. </div>
  57. <div class="col-md-6">
  58. <div class="form-group">
  59. <label>Field with a maximum of 4 characters</label>
  60. <input type='text' placeholder="" class='maxlen 4' />
  61. </div>
  62. </div>
  63. <div class="col-md-6">
  64. <div class="form-group">
  65. <label>Field with a maximum of 4 characters (limit mask)</label>
  66. <input type='text' placeholder="" class='mask len 4' />
  67. </div>
  68. </div>
  69. <div class="col-md-6">
  70. <div class="form-group">
  71. <label>Field with exact 4 characters</label>
  72. <input type='text' placeholder="" class='len 4' />
  73. </div>
  74. </div>
  75. <div class="col-md-6">
  76. <div class="form-group">
  77. <label>Field with exact 4 characters (limit mask)</label>
  78. <input type='text' placeholder="" class='mask len 4' />
  79. </div>
  80. </div>
  81. <div class="col-md-6">
  82. <div class="form-group">
  83. <label>Must Contain Space</label>
  84. <input type='text' placeholder="Your Name" class='contains _space' />
  85. </div>
  86. </div>
  87. <div class="col-md-6">
  88. <div class="form-group">
  89. <label>Must Contain {} () characters</label>
  90. <input type='text' placeholder="Please enter some characters" class='containsanychar {}()' />
  91. </div>
  92. </div>
  93. <div class="col-md-6">
  94. <div class="form-group">
  95. <label>No ABCD characters</label>
  96. <input type='text' placeholder="Please enter some characters" class='notcontainschar ABCD' />
  97. </div>
  98. </div>
  99. <div class="col-md-6">
  100. <div class="form-group">
  101. <label>Required field with message</label>
  102. <input type='text' placeholder="Fill this field" class='obg' data-invalidmessage="This field needs to be filled" />
  103. </div>
  104. </div>
  105. <div class="col-md-6">
  106. <div class="form-group">
  107. <label>Email</label>
  108. <input type='text' placeholder="Email" class='email' />
  109. </div>
  110. </div>
  111. <div class="col-md-6">
  112. <div class="form-group">
  113. <label>Numeric field</label>
  114. <input type='text' placeholder="Only numbers" class='num' />
  115. </div>
  116. </div>
  117. <div class="col-md-6">
  118. <div class="form-group">
  119. <label>Numerical field with mask</label>
  120. <input type='text' placeholder="Only numbers" class='mask num' />
  121. </div>
  122. </div>
  123. <div class="col-md-6">
  124. <div class="form-group">
  125. <label>Telephone with Mask</label>
  126. <input type='text' placeholder="telephone" class='mask tel' />
  127. </div>
  128. </div>
  129. <div class="col-md-6">
  130. <div class="form-group">
  131. <label>Telephone without Mask</label>
  132. <input type='text' placeholder="telephone" class='tel' />
  133. </div>
  134. </div>
  135. <div class="col-md-6">
  136. <div class="form-group">
  137. <label>CPF with Mascara</label>
  138. <input type='text' placeholder="CPF" class='mask cpf' />
  139. </div>
  140. </div>
  141. <div class="col-md-6">
  142. <div class="form-group">
  143. <div>CNPJ with Mascara</div>
  144. <input type='text' placeholder="CNPJ" class='mask cnpj' />
  145. </div>
  146. </div>
  147. <div class="col-md-6">
  148. <div class="form-group">
  149. <div>CPF or CNPJ with Mascara</div>
  150. <input type='text' placeholder="CPF or CNPJ" class='mask cpfcnpj' />
  151. </div>
  152. </div>
  153. <div class="col-md-6">
  154. <div class="form-group">
  155. <label>CEP with Mascara</label>
  156. <input type='text' placeholder="CEP" class='mask cep' />
  157. </div>
  158. </div>
  159. <div class="col-md-6">
  160. <div class="form-group">
  161. <label>URL</label>
  162. <input type='text' placeholder="CEP" class='mask url' />
  163. </div>
  164. </div>
  165. <div class="col-md-6">
  166. <div class="form-group">
  167. <label>Date with Mask</label>
  168. <input type='text' placeholder="Date" class='mask date' />
  169. </div>
  170. </div>
  171. <div class="col-md-6">
  172. <div class="form-group">
  173. <label>Time with Mascara</label>
  174. <input type='text' placeholder="hh:mm:ss" class='mask time' />
  175. </div>
  176. </div>
  177. <div class="col-md-6">
  178. <div class="form-group">
  179. <label>Date and Time with Mask</label>
  180. <input type='text' placeholder="dd/MM/yyyy hh:mm:ss" class='mask datetime' />
  181. </div>
  182. </div>
  183. <div class="col-md-6">
  184. <div class="form-group">
  185. <label>Date and Time with Mask (short)</label>
  186. <input type='text' placeholder="dd/MM/yyyy hh:mm" class='mask datetimeshort' />
  187. </div>
  188. </div>
  189. <div class="col-md-6">
  190. <div class="form-group">
  191. <label>Age Validation (over 18 years)</label>
  192. <input type='text' placeholder="dd/MM/yyyy" class='mask date minage 18' />
  193. </div>
  194. </div>
  195. <div class="col-md-6">
  196. <div class="form-group">
  197. <label>Hour with Mascara (short)</label>
  198. <input type='text' placeholder="hh:mm" class='mask timeshort' />
  199. </div>
  200. </div>
  201. <div class="col-md-6">
  202. <div class="form-group">
  203. <label>Number greater than 10</label>
  204. <input type='text' placeholder="Number" class='mask num after 10' />
  205. </div>
  206. </div>
  207. <div class="col-md-6">
  208. <div class="form-group">
  209. <label>Number less than 10</label>
  210. <input type='text' placeholder="Number" class='mask num before 10' />
  211. </div>
  212. </div>
  213. <div class="col-md-6">
  214. <div class="form-group">
  215. <label>Date Before Today</label>
  216. <input type='text' placeholder="Date" class='mask date before today' />
  217. </div>
  218. </div>
  219. <div class="col-md-6">
  220. <div class="form-group">
  221. <label>Date After Today</label>
  222. <input type='text' placeholder="Date" class='mask date after today' />
  223. </div>
  224. </div>
  225. <div class="col-md-6">
  226. <div class="form-group">
  227. <label>Field Comparison</label>
  228. <input type='text' id="c1" placeholder="password" class='eq #c2' />
  229. <input type='text' id="c2" placeholder="confirm password" class='eq #c1' />
  230. </div>
  231. </div>
  232. <div class="col-md-6">
  233. <div class="form-group">
  234. <label>Strong Password (Minimum 8 characters and 4 criteria)</label>
  235. <input type='password' placeholder="password" class='password strong minlen 8' />
  236. </div>
  237. </div>
  238. <div class="col-md-6">
  239. <div class="form-group">
  240. <label>Moderate Password (Minimum 4 characters and 3 criteria)</label>
  241. <input type='password' placeholder="password" class='password medium minlen 4' />
  242. </div>
  243. </div>
  244. <div class="col-md-6">
  245. <div class="form-group">
  246. <label>Credit Card with Mask</label>
  247. <input type='text' id="senha" placeholder="Credit Card Number" class='mask creditcard' />
  248. </div>
  249. </div>
  250. <div class="col-md-6">
  251. <div class="form-group">
  252. <label>Visa Credit Card with Mask</label>
  253. <input type='text' placeholder="Visa" class='mask creditcard visa' />
  254. </div>
  255. </div>
  256. <div class="col-md-6">
  257. <div class="form-group">
  258. <label>Mastercard Credit Card with Mask</label>
  259. <input type='text' placeholder="Mastercard" class='mask creditcard mastercard' />
  260. </div>
  261. </div>
  262. <div class="col-md-6">
  263. <div class="form-group">
  264. <label>Number Range</label>
  265. <input type='text' placeholder="between 1 and 10" class='mask num 1 to 10' />
  266. </div>
  267. </div>
  268. <div class="col-md-6">
  269. <div class="form-group">
  270. <label>Date Range</label>
  271. <input type='text' placeholder="Between 01/01/2019 and 31/12/2019" id="datarange" class='mask date 01/01/2019 to 31/12/2019' />
  272. </div>
  273. </div>
  274. <div class="col-md-6">
  275. <div class="form-group">
  276. <label>Error and Success Callback</label>
  277. <input type='text' placeholder="Type OK in this field" class='obg eq #div_OK' data-invalidcallback="$('#div_OK').fadeIn()" data-validcallback="$('#div_OK').fadeOut()" />
  278. </div>
  279. <p id="div_OK">OK</p>
  280. </div>
  281. <div class="col-md-6">
  282. <div class="form-group">
  283. <label>Number Autocomplete</label>
  284. <input type='text' placeholder="Enter the Number" class='mask num autocomplete' />
  285. </div>
  286. </div>
  287. <div class="col-md-6">
  288. <div class="form-group">
  289. <label>CEP with Address Autocomplete</label>
  290. <input type='text' placeholder="Enter zip code" class='mask cep autocomplete' />
  291. </div>
  292. <p class="autocomplete fulladdress"></p>
  293. </div>
  294. </div>
  295. <div class="row">
  296. <div class="col-md-12">
  297. <button class="btn btn-success">Validate</button>
  298. </div>
  299. </div>
  300. </form>

3.使用自定义错误消息数据无效消息属性

  1. <input type='text' placeholder="Fill this field" class='obg' data-invalidmessage="This field needs to be filled" />

4.在有效或无效时将自定义样式应用于表单字段。

  1. .error {
  2. border-color: red !important;
  3. }
  4.  
  5. .success {
  6. border-color: green !important;
  7. }

5.回调函数。

  • 评估前的数据回调:验证前
  • 数据无效回调:无效时
  • 数据有效回调:有效时
  • 验证回调后的数据:验证后

更新日志:

2022-11-17

  • 使现代化

2022-10-15

  • 前导零掩码

2022-08-27

  • JS更新

2022-08-01

  • 添加对数cep

2022-07-26

  • 更新InnerFormValidation.js

2020-11-14

  • 更新的编号验证

预览截图