<textarea name="remark" id='remark' data-pattern="^.{1,100}$" placeholder="留言备注"></textarea>
这个正则^.{1,100}$,在手机端用户输入一个空格或者换行,就直接报错说输入的长度超过100了,
有没有好的方法可以过滤掉手机的空格、换行等 。意思就是换行、空格不计算长度。
我不清楚题里的data-pattern到底要怎么用。
但是这应该是一个正则的问题,建议加上正则的标签。
参考 阮一峰写的 RegExp对象
正则^.{1,100}$
是什么意思呢?
点字符(.)匹配除回车(r)、换行(n) 、行分隔符(u2028)和段分隔符(u2029)以外的所有字符。
^ 表示字符串的开始位置
$ 表示字符串的结束位置
模式的精确匹配次数,使用大括号({})表示。{n}表示恰好重复n次,{n,}表示至少重复n次,{n,m}表示重复不少于n次,不多于m次。
这表示,这个正则匹配:
没有换行,一共1~100个字符的字符串。
难道不是应该0~100吗?
难道没有字符也会报错误吗……?
好,题主想忽略空格来计数
想找到这样一个正则还需要知道:
星号表示某个模式出现0次或多次,等同于{0,}。
s 匹配空格(包括制表符、空格符、断行符等),相等于[trnvf]。
^[\s*.\s*]{0,100}$
估计能完成任务。
你这是自定义的正则校验,校验前应该用了trim() 所以只输入一个空格也会报错
另外.匹配除“\n”之外的任何单个字符。要匹配包括“\n”在内的任何字符,请使用像“(.|\n)”的模式。