【问题标题】:Overall country telephone number validation in magento checkout pageMagento 结帐页面中的总体国家/地区电话号码验证
【发布时间】:2015-03-18 08:47:47
【问题描述】:

magento 结帐页面中的总体国家/地区电话号码验证

我将电话号码validation.js的正则表达式添加到 js/prototype/validation.js

['validate-phoneStrict',
 'Please enter a valid phone number. For example (123) 456-7890 or 123-456-7890.',
 function(v)
 {
     return Validation.get('IsEmpty').test(v)
         || /\(?([0-9]{4})\)?([ .-]?)([0-9]{3})\2([0-9]{4})/.test(v);
 }
],

我需要整个国家的正则表达式,....请帮帮我

【问题讨论】:

    标签: javascript php validation magento


    【解决方案1】:

    HTML 代码

    <input type="text" name="telephone" id="telephone" value="<?php echo $this->htmlEscape($this->getFormData()->getTelephone()) ?>" title="<?php echo $this->__('Telephone') ?>" class="input-text validate-numeric-contact" />
    

    在billing.phtml下面添加js代码

    <script type="text/javascript">
        //<![CDATA[
    
    if(Validation) {
            Validation.addAllThese([
            ['validate-numeric-contact','Enter correct mobile number',
            function(v){
            var timePat ="^((\+){0,1}91(\s){0,1}(\-){0,1}(\s){0,1}){0,1}9[0-9](\s){0,1}(\-){0,1}(\s){0,1}[1-9]{1}[0-9]{7}$";
            // var matchArray = v.match(timePat);
            if(v.length > 0){
            if(v.length !=10){
                return false;
               }else if(v[0] != 9 || v[1] != 1 ){
    
                //return false;
               }else if(v[2]!=9 && v[2]!=8 && v[2]!=7){
    
                return false;
               }
    
    
            return true;
    
            }else {
            return false;
            }
    
            }
            ]])};
            var dataForm = new VarienForm('form-id', true);
    
    //]]>
    
    </script>  
    

    【讨论】:

      【解决方案2】:

      请在网站上搜索相关问题。

      What regular expression will match valid international phone numbers? 这包含您需要的正则表达式。

      您的示例解决方案是:

      [ 'validate-phoneStrict',
        'Please enter a valid phone number. For example (123) 456-7890 or 123-456-7890.',
        function(v)
        {
            return Validation.get('IsEmpty').test(v)
                || /\+(9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)\d{1,14}$/.test(v);
        }
      ]
      

      我在上面的问题中使用了公认的答案,没有自己测试。另请阅读该页面上的最后一个答案,了解此正则表达式的注意事项

      【讨论】:

        猜你喜欢
        • 2021-03-24
        • 1970-01-01
        • 2018-03-24
        • 1970-01-01
        • 2021-10-03
        • 2017-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多